大數據“復活”記
777
2025-03-31
在日常運維大集群時,分發安裝包、安裝軟件、觀察集群和收集集群相關信息時,存在節點多,操作繁瑣,耗時長等問題,下面有一些運維大集群操作方式分享可以提高查看、執行效率。
分發部署
大集群所有服務器維護可使用GaussDB 集群內工具 pssh pscp進行批量操作(所有機器有互信為前提):
服務器系統參數查看是否統一:
pssh -P -h ip_all_192.X "grep 'kernel.panic =' /etc/sysctl.conf"
服務器系統參數統一修改:
pssh -P -h ip_all_192.X "sed -i '/kernel.panic =/d' /etc/sysctl.conf"
pssh -P -h ip_all_192.X "echo 'vm.panic_on_oom = 2' >> /etc/sysctl.conf"
發送一個文件到所有服務器:
pscp -h ip_ganglia_256 -l root /opt/backup_dir/256/gmond.conf /usr/local/etc/gmond.conf
core設置(suse):
alias set_core="pssh -t 300 -p 200 -P -h /opt/ip_list/ip_all_172.X \"mkdir -p /home/core;chmod 777 /home/core;sed -i '/^.*core.*unlimited/d' /etc/security/limits.conf;echo '* ? ? ? ? ? ? ? soft ? ?core ? ? ? ? ? unlimited' ?>> /etc/security/limits.conf;echo '* ? ? ? ? ? ? ? hard ? ?core ? ? ? ? ? unlimited' ?>> /etc/security/limits.conf;echo '1'>/proc/sys/kernel/core_uses_pid;echo '1'>/proc/sys/kernel/suid_dumpable;echo '/home/core/core-%e-%u-%s-%t-%h-%p' >/proc/sys/kernel/core_pattern;\" "
大集群相關目錄批量創建配置:
pssh -P -h ip_all_172.X "mkdir -p /opt/XML/;mkdir -p /opt/env_gaussdb;chmod -R 777 /dev/cgroup;chown root:root /opt/XML;chmod 777 /opt/XML;chmod 777 /opt/env_gaussdb;touch /var/log/btmp;mkdir -p /opt/system_monitor;chmod 777 /opt/system_monitor"
pssh -P -h ip_all_172.X "mkdir -p /data{1..4}/DataBig;chown root:root /data{1..4};chown root:root /data{1..4}/DataBig;chmod 777 /data{1..4};chmod 777 /data{1..4}/DataBig"
根據機器性能,可以調整pssh并發能力
vi `which pssh`
同樣通過如下方式編寫shell也可以實現:
#!/bin/sh
for i in `cat /srv/BigData/mppdb/data5/backup/iplist_all`;do ssh -q $i date;done
lvs批量配置:
安裝:
pssh -t 300 -P -h /opt/ip_list/ip_120_172.X "source /opt/env_gaussdb/cluster_1025;/data1/DataBig/clu_01/wisequery/script/gs_loadbalance -t install -U clu_01 -X /opt/XML/cluster_120x4_0120.xml --master=linux1111 --standby=linux1112 --lvs-addr=172.xx.xx.xx"
卸載:
pssh -t 300 -P -h /opt/ip_list/ip_120_172.X "source /opt/env_gaussdb/cluster_1025;/data1/DataBig/clu_01/wisequery/script/gs_loadbalance -t uninstall -U clu_01 -X /opt/XML/cluster_120x4_0120.xml"
結果收集
查看集群內節點的一些配置是否統一,
gs_ssh -c "date" ##查看集群節點時間是否統一
或者查看集群內某個節點的磁盤空間使用高于某個限定值。
gs_ssh -c "df -h | grep '[5-9][0-9]%'" | grep -v ?FAILURE ?##查看哪些節點的磁盤高于50%
關閉集群時,長時間集群無法關閉, 通過此工具可以發現哪個節點上還殘留進程,快速定位:
gs_ssh -c "ps ux |grep -E 'cm_agenr|cm_server|gaussdb|gtm'| grep -v 'check'”
集群安裝后可以通過gs_ssh工具批量查詢和收集信息:
gs_ssh -c 'gsql -p 25308 -d postgres -c "show all;"'
資源觀察
監控腳本提前編輯好,分發到服務器各個節點通過快捷方式進行啟動關閉
alias stop_monitoring="pssh -t 300 -p 200 -P -h /opt/ip_list/ip_all_172.X \" sh /opt/system_monitor/kill.sh \" "
alias start_monitoring="pssh -t 300 -p 200 -P -h /opt/ip_list/ip_all_172.X \" sh /opt/system_monitor/system_check.sh > /opt/system_monitor/run.log 2>&1 & ?\" "
作業分析
根據從作業日志得到的報錯信息 到各個CN節點去檢索日志 再根據檢索出的CN日志信息 獲取相關的query_id、dn編號去到DN 所在的節點去獲取DN日志。
集群的CN ip寫入到一個文件通過遍歷方式到各個節點去檢索日志:
path=`pwd`
hostfilepath="$path"
cmd=$1
hostfile=$2
for node in `cat ${hostfilepath}/${hostfile}`
do
echo "------------------------------------------ $node --------------------------------------------"
ssh $node "${cmd}"
done
sh exe.sh "grep 'ERROR timeout expired' /data2/DataBig/mpp_120/log/gaussdba/mpp_120/pg_log/cn*/postgresql-2021-02*log" cn
EI企業智能 Gauss AP 數據倉庫服務 GaussDB(DWS)
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。