GaussDB(DWS)大集群集群运维技巧

网友投稿 657 2022-05-28

在日常运维大集群时,分发安装包、安装软件、观察集群和收集集群相关信息时,存在节点多,操作繁琐,耗时长等问题,下面有一些运维大集群操作方式分享可以提高查看、执行效率。

分发部署

大集群所有服务器维护可使用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"

结果收集

GaussDB(DWS)大集群集群运维技巧

查看集群内节点的一些配置是否统一,

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小时内删除侵权内容。

上一篇:GaussDB for DWS高可用之CN&GTM组件高可用介绍
下一篇:运维面试整理-Redis
相关文章