暂无图片
暂无图片
3
暂无图片
暂无图片
1
暂无图片

openGauss单独安装卸载CM代码解读

原创 ziyoo0830 2023-08-24
616

单独安装

前置检查

判断CM是否安装

source /home/omm/.bashrc; gs_om -t status --detail | grep 'CMServer State' > /dev/null
复制

term

新安装集群,需要做两次切换,切换到其他节点,再切回原主。

开始安装

创建目录

# create path: cmdir、cmdir/cm_server、cmdir/cm_agent mkdir -p /app/ogdata/data/cm/cm_server /app/ogdata/data/cm/cm_agent # 所有节点均需要创建 来源single.xml
复制

解压包

# Decompressing CM pacakage tar -zxf /app/scripts/01_og_intall/package/tar/openGauss-3.0.5-openEuler-64bit-cm.tar.gz -C /app/opengauss/app/2.0.1 # 检查cm、gaussdb版本 source /home/omm/.bashrc; cm_ctl -V #cmVersionList = re.findall(r'.*CM (\d.*\d) build', output) source /home/omm/.bashrc; gaussdb -V # 复制到其他节点 scp /app/scripts/01_og_intall/package/tar/openGauss-3.0.5-openEuler-64bit-cm.tar.gz pghost2:/app/opengauss/tool /app/opengauss/tool/openGauss-3.0.5-openEuler-64bit-cm.tar.gz tar -zxf /app/opengauss/tool/openGauss-3.0.5-openEuler-64bit-cm.tar.gz -C /app/opengauss/app/2.0.1
复制

创建cluster_manual_start文件

Creating cluster_manual_start file

if [ ! -f /app/opengauss/app/2.0.1/bin/cluster_manual_start ]; then touch /app/opengauss/app/2.0.1/bin/cluster_manual_start fi # 所有节点均需要创建
复制

初始化CMServer-initCMServer

# 所有节点均需要执行 /app/ogdata/data/cm cp /app/opengauss/app/2.0.1/share/config/cm_server.conf.sample /app/ogdata/data/cm/cm_server/cm_server.conf sed 's#log_dir = .*#log_dir = /app/opengauss/gaussdb_log/omm/cm/cm_server#' /app/ogdata/data/cm/cm_server/cm_server.conf -i
复制

初始化CMAgent-initCMAgent

# 所有节点均需要执行 cp /app/opengauss/app/2.0.1/share/config/cm_agent.conf.sample /app/ogdata/data/cm/cm_agent/cm_agent.conf sed 's#log_dir = .*#log_dir = /app/opengauss/gaussdb_log/omm/cm/cm_agent#' /app/ogdata/data/cm/cm_agent/cm_agent.conf -i sed 's#unix_socket_directory = .*#unix_socket_directory = /app/opengauss/app/2.0.1#' app/ogdata/data/cm/cm_agent/cm_agent.conf -i
复制

createCMCA

Creating CM ca files

/app/opengauss/app/2.0.1/share/sslcert/cm rm /app/opengauss/app/2.0.1/share/sslcert/cm -rf; mkdir /app/opengauss/app/2.0.1/share/sslcert/cm # OPENSSL: Create config file. '[ v3_ca ]\nsubjectKeyIdentifier=hash\nauthorityKeyIdentifier=keyid:always,issuer:always\nbasicConstraints = CA:true\nkeyUsage = keyCertSign,cRLSign' /app/opengauss/app/2.0.1/share/sslcert/cm/openssl.cnf写入上述内容: v3CaL = [ "[ v3_ca ]", "subjectKeyIdentifier=hash", "authorityKeyIdentifier=keyid:always,issuer:always", "basicConstraints = CA:true", "keyUsage = keyCertSign,cRLSign", ] source /home/omm/.bashrc; echo "oracle_4U" | sh /app/opengauss/app/2.0.1_5564ce8e/tool/cm_tool/CreateCMCACert.sh # 删除无用文件 /app/opengauss/app/2.0.1/share/sslcert/cm 删除不是 ["cacert.pem", "server.crt", "server.key", "client.crt", "client.key", "server.key.cipher", "server.key.rand", "client.key.cipher", "client.key.rand"] 的文件 # Distributing CM ca files to other hosts. 在其他节点上执行 rm /app/opengauss/app/2.0.1/share/sslcert/cm -rf; mkdir /app/opengauss/app/2.0.1/share/sslcert/cm; chmod 700 /app/opengauss/app/2.0.1/share/sslcert/cm scp /app/opengauss/app/2.0.1/share/sslcert/cm/* pghost2:/app/opengauss/app/2.0.1/share/sslcert/cm
复制

刷新静态配置文件

'\n source /home/omm/.bashrc;\n gs_om -t generateconf -X /home/omm/single.xml --distribute\n '
复制

配置OM定时任务

# setMonitorCrontab ## 备份原来的定时任务 crontab -l > /app/opengauss/tmp/cronContentTmpFile_145125 ## 删除已经存在的om定时任务 sed '/.*om_monitor.*/d' /app/opengauss/tmp/cronContentTmpFile_145125 -i source /etc/profile;(if [ -f ~/.profile ];then source ~/.profile;fi);source ~/.bashrc;source /home/omm/.bashrc; nohup om_monitor -L /app/opengauss/gaussdb_log/omm/cm/om_monitor >>/dev/null 2>&1 & ## 写入定时任务 ## 所有节点都需要配置。 */1 * * * * source /etc/profile;(if [ -f ~/.profile ];then source ~/.profile;fi);source ~/.bashrc;source /home/omm/.bashrc; nohup om_monitor -L /app/opengauss/gaussdb_log/omm/cm/om_monitor >>/dev/null 2>&1 &\n # kill residual om_monitor, otherwise cm_agent won't be started if there are residual om_monitor process. pkill om_monitor -u omm;
复制

启动集群

source /home/omm/.bashrc; cm_ctl start # 刷新动态配置文件 # 查看集群状态
复制

单独卸载

前置检查

检查操作用户

检查传入的参数

检查single.xml中cm信息:(不能有cm的信息)

grep -E 'cmDir|cmsNum|cmServerPortBase|cmServerPortStandby|cmServerlevel|cmServerListenIp1|cmServerRelation' /home/omm/single.xml
复制

获取节点主机名信息

检查互信配置:

ssh -o ConnectTimeout=3 -o ConnectionAttempts=5 -o PasswordAuthentication=no -o StrictHostKeyChecking=no pghost1 'pwd > /dev/null'
复制

开始卸载

获取CMDataPaths

# Get cmDataPaths of all nodes from static file. source /home/omm/.bashrc; cm_ctl view | grep -E 'cmDataPath'
复制

清理om定时任务

# 所有节点均执行 crontab -l > /tmp/cronContentTmpFile_171575 sed '/.*om_monitor.*/d' /tmp/cronContentTmpFile_171575 -i crontab /tmp/cronContentTmpFile_171575 rm -f /tmp/cronContentTmpFile_171575
复制

停止stopCMProcess

ps -xo pid,command | grep -E 'om_monitor|cm_agent|cm_server|fenced UDF' | grep -v grep
复制

刷新动态和静态配置文件

gs_om -t generateconf .... source /home/omm/.bashrc; rm -f $GAUSSHOME/bin/cluster_dynamic_config source /home/omm/.bashrc; ls $GAUSSHOME/bin/cluster_manual_start gs_om -t refreshconf
复制

删除二进制文件

# delete CM binaries, include om_monitor, cm_agent, cm_server, cm_ctl source /home/omm/.bashrc; cd $GAUSSHOME/bin; rm -f om_monitor* cm_agent* cm_server* cm_ctl* cm_persist* *manual*start* promote_mode_cms; cd -
复制

删除CMData

# remove cmdatapath source /home/omm/.bashrc; rm -rf /app/ogdata/data/cm $GAUSSLOG/cm $GAUSSHOME/share/sslcert/cm
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论

11 0
暂无图片
1年前
评论
暂无图片 0
👍
1年前
暂无图片 点赞
评论
目录
  • 单独安装
    • 前置检查
      • 判断CM是否安装
      • term
    • 开始安装
      • 创建目录
      • 解压包
      • 创建cluster_manual_start文件
      • 初始化CMServer-initCMServer
      • 初始化CMAgent-initCMAgent
      • createCMCA
      • 刷新静态配置文件
      • 配置OM定时任务
      • 启动集群
  • 单独卸载
    • 前置检查
    • 开始卸载
      • 获取CMDataPaths
      • 清理om定时任务
      • 停止stopCMProcess
      • 刷新动态和静态配置文件
      • 删除二进制文件
      • 删除CMData