安装脚本配置
解压安装脚本
cd /gaussdb/soft/pkgunzip GaussDBInstaller_1.0.5.6_20230630015648.tar.gz
输出如下:
[root@node01 pkg]# tar -xvf GaussDBInstaller_1.0.5.6_20230630015648.tar.gzGaussDBInstaller/GaussDBInstaller/install_cluster.confGaussDBInstaller/ReadMe.txtGaussDBInstaller/gaussdb_install.pyGaussDBInstaller/pkgDir/GaussDBInstaller/pkgDir/ReadMe.txtGaussDBInstaller/jsonFileSample/GaussDBInstaller/jsonFileSample/3_nodes_centralized_paxos.jsonGaussDBInstaller/jsonFileSample/3_nodes_distributed.jsonGaussDBInstaller/jsonFileSample/4_nodes_distributed_4shards.jsonGaussDBInstaller/jsonFileSample/1_node.jsonGaussDBInstaller/jsonFileSample/5_nodes_distributed.jsonGaussDBInstaller/jsonFileSample/2_nodes_centralized_1primary_1standby_1logger.jsonGaussDBInstaller/jsonFileSample/4_nodes_distributed_8shards.jsonGaussDBInstaller/jsonFileSample/5_nodes_centralized.jsonGaussDBInstaller/jsonFileSample/9_nodes_distributed_8shards.jsonGaussDBInstaller/jsonFileSample/9_nodes_distributed_4shards.jsonGaussDBInstaller/jsonFileSample/3_nodes_centralized.jsonGaussDBInstaller/jsonFileSample/3_nodes_centralized_1primary_1standby_1logger.jsonGaussDBInstaller/install_cluster.sh
安装包移动
下面三个软件包上传至 /data/GaussDBInstaller/pkgDir 目录下 ,版本号根据具体的项目更改。
DBS-GaussDB-Adaptor_2.23.07.265.1708416436.tar.gz
GaussDB-Kernel_505.1.0.B026_Om_X86_Distributed.tar.gz
GaussDB-Kernel_505.1.0.B026_Server_X86_Distributed.tar.gz
cp /gaussdb/soft/pkg/DBS-GaussDB-Adaptor_2.23.07.265.1708416436.tar.gz /gaussdb/soft/pkg/GaussDBInstaller/pkgDir/cp /gaussdb/soft/pkg/GaussDB-Kernel_505.1.0.B026_Om_X86_Distributed.tar.gz /gaussdb/soft/pkg/GaussDBInstaller/pkgDir/cp /gaussdb/soft/pkg/GaussDB-Kernel_505.1.0.B026_Server_X86_Distributed.tar.gz /gaussdb/soft/pkg/GaussDBInstaller/pkgDir/
配置文件修改
修改 安装脚本中的install_cluster.conf 配置文件 install_cluster.conf 配置文件参数说明 注意:密码中不能用连续的数字
cd /gaussdb/soft/pkg/GaussDBInstaller/cp install_cluster.conf install_cluster.conf_bak_`date +%F`cat install_cluster.conf[COMMON] os_user = omm #不修改!!! -操作系统上安装数据库的用户os_user_group = ${os_user} #不修改!!! -操作系统上安装数据库的用户组os_user_home = /home/${os_user} #不修改!!! -数据库用户家目录os_user_passwd = Gauss_246 #不修改!!! -操作系统上安装数据库的用户的密码建议与下面的root密码一致root_passwd = Huawei@135 #os root密码 修改为自己实际的,保证所有节点密码一致ssh_port = 22 #ssh端口node_ip_list = 192.168.0.162,192.168.0.192,192.168.0.164 ##所有节点的IP,数据库安装涉及到的全都要写,修改为自己实际的,以,进行隔开[OMAGENT]gauss_home = /data/cluster #集群安装目录,将此处的/data修改为自己磁盘的实际挂载目录,确保/data下的cluster目录提前不存在,需要选择磁盘容量超过50G的分区目录om_agent_port = 30170 #不修改!!!omagent服务端口,确保该端口未被使用,需要注意的是om_agent端口不能与install_cluster.json中的dbPort相同mgr_net = #不修改!!!mgr_net data_net virtual_net三个参数无需配置,1.0.3以后的版本自动配置data_net = #不修改!!!mgr_net data_net virtual_net三个参数无需配置,1.0.3以后的版本自动配置virtual_net = #不修改!!!mgr_net data_net virtual_net三个参数无需配置,1.0.3以后的版本自动配置log_dir = ${gauss_home}/logs/gaussdb ##不修改!!!${gauss_home}表示的是/data/cluster,如果有特殊需要可自行修改cn_dir = ${gauss_home}/data/cn #不修改!!!${gauss_home}表示的是/data/cluster,如果有特殊需要可自行修改gtm_dir = ${gauss_home}/data/gtm #不修改!!!${gauss_home}表示的是/data/cluster,如果有特殊需要可自行修改cm_dir = ${gauss_home}/data/cm #不修改!!!${gauss_home}表示的是/data/cluster,如果有特殊需要可自行修改tmp_dir = ${gauss_home}/temp #不修改!!!${gauss_home}表示的是/data/cluster,如果有特殊需要可自行修改data_dir = ${gauss_home}/data/dn #不修改!!!${gauss_home}表示的是/data/cluster,如果有特殊需要可自行修改tool_dir = ${gauss_home}/tools #不修改!!!${gauss_home}表示的是/data/cluster,如果有特殊需要可自行修改etcd_dir = ${gauss_home}/data/etcd #不修改!!!${gauss_home}表示的是/data/cluster,如果有特殊需要可自行修改
补充:
数据库安装目录:默认路径都是/data/cluster
1.如果没有自定义路径的需求,默认即可
2.如果有自定义cn、dn、etcd、gtm路径安装的需求:
举例:需要把cn_dir路径配置到/data/cn路径下配置修改格式:cn dir=/data/cn
其他路径的自定义路径同上
修改后的install_cluster.conf 配置文件
cd /gaussdb/soft/pkg/GaussDBInstaller/vi install_cluster.conf[COMMON]os_user = ommos_user_group = ${os_user}os_user_home = /home/${os_user}os_user_passwd = Topnet@123root_passwd = Topnet@123ssh_port = 22node_ip_list = 192.168.30.51,192.168.30.52,192.168.30.53[OMAGENT]gauss_home = /gaussdb/clusterom_agent_port = 30170mgr_net =data_net =virtual_net =log_dir = ${gauss_home}/logs/gaussdbcn_dir = ${gauss_home}/data/cngtm_dir = ${gauss_home}/data/gtmcm_dir = ${gauss_home}/data/cmtmp_dir = ${gauss_home}/tempdata_dir = ${gauss_home}/data/dntool_dir = ${gauss_home}/toolsetcd_dir = ${gauss_home}/data/etcd
查看脚本安装内容 说明:如下所示为常见的不同部署方式的配置文件,根据自己的需要选择即可:
centralized:集中式
distributed:分布式
[root@node01 ~]# ll /gaussdb/soft/pkg/GaussDBInstaller/jsonFileSample/total 68-rw------- 1 root root 1021 Jun 30 2023 1_node.json-rw------- 1 root root 2138 Jun 30 2023 2_nodes_centralized_1primary_1standby_1logger.json-rw------- 1 root root 2246 Jun 30 2023 3_nodes_centralized_1primary_1standby_1logger.json-rw------- 1 root root 2187 Jun 30 2023 3_nodes_centralized.json-rw------- 1 root root 2186 Jun 30 2023 3_nodes_centralized_paxos.json-rw------- 1 root root 4048 Jun 30 2023 3_nodes_distributed.json-rw------- 1 root root 3860 Jun 30 2023 4_nodes_distributed_4shards.json-rw------- 1 root root 5889 Jun 30 2023 4_nodes_distributed_8shards.json-rw------- 1 root root 2811 Jun 30 2023 5_nodes_centralized.json-rw------- 1 root root 6128 Jun 30 2023 5_nodes_distributed.json-rw------- 1 root root 6128 Jun 30 2023 9_nodes_distributed_4shards.json-rw------- 1 root root 9456 Jun 30 2023 9_nodes_distributed_8shards.json
修改 install_cluster.json 配置文件
拷贝json文件
拷贝指定部署方式的json文件(以3节点分布式为例)到脚本解压后的目录GaussDBInstaller下
cp /gaussdb/soft/pkg/GaussDBInstaller/jsonFileSample/3_nodes_distributed.json /gaussdb/soft/pkg/GaussDBInstaller/install_cluster.json
修改 install_cluster.json 配置文件
说明:以下参数如无特殊说明都不要进行修改,使用时请删除掉注释
cat /gaussdb/soft/pkg/GaussDBInstaller/install_cluster.jsoncp /gaussdb/soft/pkg/GaussDBInstaller/install_cluster.json /gaussdb/soft/pkg/GaussDBInstaller/install_cluster.json_bak_`date +%F`cat /gaussdb/soft/pkg/GaussDBInstaller/install_cluster.json{#安装数据库时创建的omm用户是操作系统数据库用户,真正的数据库用户和密码如下rdsAdminUser和rdsAdminPasswd "rdsAdminUser":"rdsAdmin", "rdsAdminPasswd":"Gauss_123", "rdsMetricUser":"rdsMetric", "rdsMetricPasswd":"huawei@123Pwd", "rdsReplUser":"rdsRepl", "rdsReplPasswd":"huawei@123Pwd", "rdsBackupUser":"rdsBackup", "rdsBackupPasswd":"huawei@123Pwd", "dbPort":"8000", "dbUser":"root", "dbUserPasswd":"Topnet@123", #修改为自己的root账户密码 "clusterMode":"combined", "params":{ "enable_thread_pool":"on", "enable_bbox_dump":"on", "bbox_dump_path":"/home/core" }, "cnParams":{ }, "dnParams":{ }, "cmParams":{ }, "clusterConf":{ "clusterName":"Gauss_XuanYuan", "encoding": "utf8", "shardingNum": 3, "replicaNum": 3, "solution":"hws", "cm":[ { "rack": "node01", #将下列中的所有rack值修改为自己的服务器节点主机名,将对应节点下面的IP全部换成节点的IP值,如node01节点下所有的IP为192.168.1.101 "az": "AZ1", "ip": "192.168.30.51", "dataIp":"192.168.30.51", "virtualIp":"192.168.30.51" }, { "rack": "node02", "az": "AZ2", "ip": "192.168.30.52", "dataIp":"192.168.30.52", "virtualIp":"192.168.30.52" }, { "rack": "node03", "az": "AZ3", "ip": "192.168.30.53", "dataIp":"192.168.30.53", "virtualIp":"192.168.30.53" } ], "cn":[ { "rack": "node01", "az": "AZ1", "ip": "192.168.30.51", "dataIp":"192.168.30.51", "virtualIp":"192.168.30.51" }, { "rack": "node02", "az": "AZ2", "ip": "192.168.30.52", "dataIp":"192.168.30.52", "virtualIp":"192.168.30.52" }, { "rack": "node03", "az": "AZ3", "ip": "192.168.30.53", "dataIp":"192.168.30.53", "virtualIp":"192.168.30.53" } ], "gtm":[ { "rack": "node01", "az": "AZ1", "ip": "192.168.30.51", "dataIp":"192.168.30.51", "virtualIp":"192.168.30.51" }, { "rack": "node02", "az": "AZ2", "ip": "192.168.30.52", "dataIp":"192.168.30.52", "virtualIp":"192.168.30.52" }, { "rack": "node03", "az": "AZ3", "ip": "192.168.30.53", "dataIp":"192.168.30.53", "virtualIp":"192.168.30.53" } ], "shards":[ [ { "rack": "node01", "az": "AZ1", "ip": "192.168.30.51", "dataIp":"192.168.30.51", "virtualIp":"192.168.30.51" }, { "rack": "node02", "az": "AZ2", "ip": "192.168.30.52", "dataIp":"192.168.30.52", "virtualIp":"192.168.30.52" }, { "rack": "node03", "az": "AZ3", "ip": "192.168.30.53", "dataIp":"192.168.30.53", "virtualIp":"192.168.30.53" } ], [ { "rack": "node02", "az": "AZ2", "ip": "192.168.30.52", "dataIp":"192.168.30.52", "virtualIp":"192.168.30.52" }, { "rack": "node01", "az": "AZ1", "ip": "192.168.30.51", "dataIp":"192.168.30.51", "virtualIp":"192.168.30.51" }, { "rack": "node03", "az": "AZ3", "ip": "192.168.30.53", "dataIp":"192.168.30.53", "virtualIp":"192.168.30.53" } ], [ { "rack": "node03", "az": "AZ3", "ip": "192.168.30.53", "dataIp":"192.168.30.53", "virtualIp":"192.168.30.53" }, { "rack": "node02", "az": "AZ2", "ip": "192.168.30.52", "dataIp":"192.168.30.52", "virtualIp":"192.168.30.52" }, { "rack": "node01", "az": "AZ1", "ip": "192.168.30.51", "dataIp":"192.168.30.51", "virtualIp":"192.168.30.51" } ] ], "etcd":{ "nodes":[ { "rack": "node01", "az": "AZ1", "ip": "192.168.30.51", "dataIp":"192.168.30.51", "virtualIp":"192.168.30.51" }, { "rack": "node02", "az": "AZ2", "ip": "192.168.30.52", "dataIp":"192.168.30.52", "virtualIp":"192.168.30.52" }, { "rack": "node03", "az": "AZ3", "ip": "192.168.30.53", "dataIp":"192.168.30.53", "virtualIp":"192.168.30.53" } ] } }}
安装包检查
查看pkgDir目录下的安装包 注意:此处注意清理掉其他所有文件,仅仅保留以下的几个文件
[root@node01 ~]# ls -l /gaussdb/soft/pkg/GaussDBInstaller/pkgDirtotal 873224-rw-r--r-- 1 root root 427997 Aug 20 19:11 DBS-GaussDB-Adaptor_2.23.07.265.1708416436.tar.gz-rw-r--r-- 1 root root 32392827 Aug 20 19:11 GaussDB-Kernel_505.1.0.B026_Om_X86_Distributed.tar.gz-rw-r--r-- 1 root root 861349604 Aug 20 19:11 GaussDB-Kernel_505.1.0.B026_Server_X86_Distributed.tar.gz
补充:实例安装原理
GaussDB 数据库使用 adaptor接口方式的安装,在adaptor、om-agent安装完成后,会调用 adaptor接口来执行实例的预安装和安装。
安装
--切换目录cd /gaussdb/soft/pkg/GaussDBInstallerpwd --输出 /gaussdb/soft/pkg/GaussDBInstaller--执行安装命令python3 gaussdb_install.py --action main
环境变量配置
vi /etc/profile增加export GAUSSDB_HOME=/gaussdb/cluster/core/app_da28c417PATH尾部增加export PATH=$PATH:$UNPACKPATH/script/gspylib/pssh/bin:$UNPACKPATH/script:$GAUSSDB_HOME/binLD_LIBRARY_PATH尾部增加export LD_LIBRARY_PATH=/gaussdb/cluster/pylib/libsimsearch:$LD_LIBRARY_PATH:$GAUSSDB_HOME/lib--环境变量生效source /etc/profile
查看集群状态
查看集群状态
必须切换到安装用户omm下才有结果输出。
su - omm cm_ctl query -Cvipd | grep cluster_state或cm_ctl query -Cvipd
输出如下:
[root@node01 GaussDBInstaller]# su - ommLast login: Wed Aug 21 11:50:13 CST 2024 on pts/1[omm@node01 ~]$ cm_ctl query -Cvipd | grep cluster_statecluster_state : Normal[omm@node01 ~]$ cm_ctl query -Cvipd[ CMServer State ]node node_ip instance state--------------------------------------------------------------------------------1 192.168.30.51 192.168.30.51 1 /gaussdb/cluster/data/cm/cm_server Primary2 192.168.30.52 192.168.30.52 2 /gaussdb/cluster/data/cm/cm_server Standby3 192.168.30.53 192.168.30.53 3 /gaussdb/cluster/data/cm/cm_server Standby[ ETCD State ]node node_ip instance state------------------------------------------------------------------------------1 192.168.30.51 192.168.30.51 7001 /gaussdb/cluster/data/etcd StateLeader2 192.168.30.52 192.168.30.52 7002 /gaussdb/cluster/data/etcd StateFollower3 192.168.30.53 192.168.30.53 7003 /gaussdb/cluster/data/etcd StateFollower[ Cluster State ]cluster_state : Normalredistributing : Nobalanced : Yescurrent_az : AZ_ALL[ Coordinator State ]node node_ip instance state----------------------------------------------------------------------1 192.168.30.51 192.168.30.51 5001 8000 /gaussdb/cluster/data/cn Normal2 192.168.30.52 192.168.30.52 5002 8000 /gaussdb/cluster/data/cn Normal3 192.168.30.53 192.168.30.53 5003 8000 /gaussdb/cluster/data/cn Normal[ Central Coordinator State ]node node_ip instance state----------------------------------------------------------------------1 192.168.30.51 192.168.30.51 5001 /gaussdb/cluster/data/cn Normal[ GTM State ]node node_ip instance state sync_state-------------------------------------------------------------------------------------------------------1 192.168.30.51 192.168.30.51 1001 /gaussdb/cluster/data/gtm P Primary Connection ok Sync2 192.168.30.52 192.168.30.52 1002 /gaussdb/cluster/data/gtm S Standby Connection ok Sync3 192.168.30.53 192.168.30.53 1003 /gaussdb/cluster/data/gtm S Standby Connection ok Sync[ Datanode State ]node node_ip instance state | node node_ip instance state | node node_ip instance state---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------1 192.168.30.51 192.168.30.51 6001 33100 /gaussdb/cluster/data/dn/dn_6001 P Primary Normal | 2 192.168.30.52 192.168.30.52 6002 33100 /gaussdb/cluster/data/dn/dn_6002 S Standby Normal | 3 192.168.30.53 192.168.30.53 6003 33100 /gaussdb/cluster/data/dn/dn_6003 S Standby Normal2 192.168.30.52 192.168.30.52 6004 33120 /gaussdb/cluster/data/dn/dn_6004 P Primary Normal | 1 192.168.30.51 192.168.30.51 6005 33120 /gaussdb/cluster/data/dn/dn_6005 S Standby Normal | 3 192.168.30.53 192.168.30.53 6006 33120 /gaussdb/cluster/data/dn/dn_6006 S Standby Normal3 192.168.30.53 192.168.30.53 6007 33140 /gaussdb/cluster/data/dn/dn_6007 P Primary Normal | 2 192.168.30.52 192.168.30.52 6008 33140 /gaussdb/cluster/data/dn/dn_6008 S Standby Normal | 1 192.168.30.51 192.168.30.51 6009 33140 /gaussdb/cluster/data/dn/dn_6009 S Standby Normal
问题处理
--查看集群状态[root@node01 GaussDBInstaller]# cm_ctl query -cvip-bash: cm_ctl: command not found[root@node01 ~]# cm_ctl query -cvipcm_ctl: error while loading shared libraries: libcjson.so.1: cannot open shared object file: No such file or directory--问题原因未配置环境变量导致--解决办法按照上面的环境变量配置解决
问题处理
ERROR: install_cluster.conf checked failed
--问题描述[root@node01 GaussDBInstaller]# python3 gaussdb_install.py --action main[2024-08-21 10:43:35][root][INFO]:Start to execute cmd: sh /gaussdb/soft/pkg/GaussDBInstaller/install_cluster.sh getCurrentIp 192.168.30.51 192.168.30.52 192.168.30.53[2024-08-21 10:43:36][root][INFO]:End to execute cmd sh /gaussdb/soft/pkg/GaussDBInstaller/install_cluster.sh getCurrentIp 192.168.30.51 192.168.30.52 192.168.30.53 192.168.30.52 192.168.30.53[2024-08-21 10:43:36][root][INFO]:Start to execute preProcess...[2024-08-21 10:43:36][root][INFO]:ADAPTOR_PACKAGE exists[2024-08-21 10:43:36][root][INFO]:AGENT_PACKAGE exists[2024-08-21 10:43:36][root][INFO]:SERVER_PACKAGE exists[2024-08-21 10:43:36][root][INFO]:Integrity check passed[2024-08-21 10:43:36][root][ERROR]:User passwd check failed! The password can't contain more than two consecutive digits.[2024-08-21 10:43:36][root][ERROR]:conf key:os_user_passwd check failedERROR: install_cluster.conf checked failed--问题原因密码不能包含两个以上的连续数字--解决办法更改服务器root用户密码符合要求su - rootpasswd
install_cluster.json file ip not configure
--问题描述安装提示[root@node01 GaussDBInstaller]# python3 gaussdb_install.py --action main[2024-08-21 10:52:03][root][INFO]