1背景说明
对虚拟机进行了克隆,修改了主机IP 地址后,openGauss实例无法启动。
我们这里是单机版的openGauss环境。
现在启动报如下错误:
[dave@www.cndba.cn dn]$ gs_om -t start -D /data/openGuass/install/data/dn
Starting cluster.
=========================================
=========================================
[GAUSS-53600]: Can not start the database, the cmd is source /home/omm/.bashrc; python3 '/data/openGuass/install/om/script/local/StartInstance.py' -U omm -R /data/openGuass/install/app -t 300 --security-mode=off -D /data/openGuass/install/data/dn, Error:
[GAUSS-51400] : Failed to execute the command: source /home/omm/.bashrc; python3 '/data/openGuass/install/om/script/local/StartInstance.py' -U omm -R /data/openGuass/install/app -t 300 --security-mode=off -D /data/openGuass/install/data/dn. Error:
[FAILURE] oracle:
..
[dave@www.cndba.cn dn]$
2解决方法
在安装openGauss的时候,我们cluster_config.xml 文件中配置了IP地址:
[dave@www.cndba.cn bin]$ cat cluster_config.xml
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<!-- openGauss整体信息 -->
<CLUSTER>
<!-- 数据库名称 -->
<PARAM name="clusterName" value="dbCluster" />
<!-- 数据库节点名称(hostname) -->
<PARAM name="nodeNames" value="oracle" />
<!-- 数据库安装目录-->
<PARAM name="gaussdbAppPath" value="/data/openGuass/install/app" />
<!-- 日志目录-->
<PARAM name="gaussdbLogPath" value="/var/log/omm" />
<!-- 临时文件目录-->
<PARAM name="tmpMppdbPath" value="/data/openGuass/tmp" />
<!-- 数据库工具目录-->
<PARAM name="gaussdbToolPath" value="/data/openGuass/install/om" />
<!-- 数据库core文件目录-->
<PARAM name="corePath" value="/data/openGuass/corefile" />
<!-- 节点IP,与数据库节点名称列表一一对应 -->
<PARAM name="backIp1s" value="192.168.56.105"/>
</CLUSTER>
<!-- 每台服务器上的节点部署信息 -->
<DEVICELIST>
<!-- 节点1上的部署信息 -->
<DEVICE sn="oracle">
<!-- 节点1的主机名称 -->
<PARAM name="name" value="oracle"/>
<!-- 节点1所在的AZ及AZ优先级 -->
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<!-- 节点1的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -->
<PARAM name="backIp1" value="192.168.56.105"/>
<PARAM name="sshIp1" value="192.168.56.105"/>
<!--dbnode-->
<PARAM name="dataNum" value="1"/>
<PARAM name="dataPortBase" value="15400"/>
<PARAM name="dataNode1" value="/data/openGuass/install/data/dn"/>
<PARAM name="dataNode1_syncNum" value="0"/>
</DEVICE>
</DEVICELIST>
</ROOT>
[dave@www.cndba.cn bin]$
所以我们需要替换掉响应配置文件中的IP地址。
2.1 修改/etc/hosts 文件
[dave@www.cndba.cn software]# hostname
oracle2
[dave@www.cndba.cn software]# cat /etc/hosts
127.0.0.1 localhost
192.168.56.105 oracle
127.0.0.1 localhost #Gauss OM IP Hosts Mapping
[dave@www.cndba.cn software]# sed -i 's/192.168.56.105/192.168.56.106/' /etc/hosts
[dave@www.cndba.cn software]# sed -i 's/oracle/oracle2/' /etc/hosts
[dave@www.cndba.cn software]# cat /etc/hosts
127.0.0.1 localhost
192.168.56.106 oracle2
127.0.0.1 localhost #Gauss OM IP Hosts Mapping
[dave@www.cndba.cn software]#
当然如果是主从复制环境,修改IP 地址后,还需要修改用户互信:~/.ssh/known_hosts
2.2 修改数据库配置文件(postgresql.conf)
[dave@www.cndba.cn dn]$ pwd
/data/openGuass/install/data/dn
[dave@www.cndba.cn dn]$ grep '192.168.56.105' postgresql.conf
listen_addresses = 'localhost,192.168.56.105' # what IP address(es) to listen on;
local_bind_address = '192.168.56.105'
[dave@www.cndba.cn dn]$ sed -i 's/192.168.56.105/192.168.56.106/' postgresql.conf
[dave@www.cndba.cn dn]$ grep '192.168.56.106' postgresql.conf
listen_addresses = 'localhost,192.168.56.106' # what IP address(es) to listen on;
local_bind_address = '192.168.56.106'
[dave@www.cndba.cn dn]$
2.3 修改pg_hba.conf文件
[dave@www.cndba.cn dn]$ grep '192.168.56.105' pg_hba.conf
host all omm 192.168.56.105/32 trust
host all all 192.168.56.105/32 sha256
[dave@www.cndba.cn dn]$ sed -i 's/192.168.56.105/192.168.56.106/' pg_hba.conf
[dave@www.cndba.cn dn]$ grep '192.168.56.106' pg_hba.conf
host all omm 192.168.56.106/32 trust
host all all 192.168.56.106/32 sha256
[dave@www.cndba.cn dn]$
2.4 重新生成静态配置文件
查看当前静态配置文件:
[dave@www.cndba.cn dn]$ gs_om -t view|grep -E '[0-9]+/.[0-9]+/.[0-9]+/.[0-9]+'
sshChannel 1:192.168.56.105
datanodeListenIP 1:192.168.56.105
datanodeLocalHAIP 1:192.168.56.105
[dave@www.cndba.cn dn]$
这里面都是旧值。
修改XML 配置文件:
[dave@www.cndba.cn software]$ grep '192.168.56.105' cluster_config.xml
<PARAM name="backIp1s" value="192.168.56.105"/>
<PARAM name="backIp1" value="192.168.56.105"/>
<PARAM name="sshIp1" value="192.168.56.105"/>
[dave@www.cndba.cn software]$ sed -i 's/192.168.56.105/192.168.56.106/' cluster_config.xml
[dave@www.cndba.cn software]$ sed -i 's/oracle/oracle2/' cluster_config.xml
[dave@www.cndba.cn software]$ grep '192.168.56.106' cluster_config.xml
<PARAM name="backIp1s" value="192.168.56.106"/>
<PARAM name="backIp1" value="192.168.56.106"/>
<PARAM name="sshIp1" value="192.168.56.106"/>
[dave@www.cndba.cn software]$
生成分发静态配置文件
[dave@www.cndba.cn software]$ gs_om -t generateconf -X cluster_config.xml --distribute
Generating static configuration files for all nodes.
Creating temp directory to store static configuration files.
Successfully created the temp directory.
Generating static configuration files.
Successfully generated static configuration files.
Static configuration files for all nodes are saved in /data/openGuass/install/om/script/static_config_files.
Distributing static configuration files to all nodes.
Successfully distributed static configuration files.
[dave@www.cndba.cn software]$
验证:
[dave@www.cndba.cn software]$ gs_om -t view|grep -E '[0-9]+/.[0-9]+/.[0-9]+/.[0-9]+'
sshChannel 1:192.168.56.106
datanodeListenIP 1:192.168.56.106
datanodeLocalHAIP 1:192.168.56.106
[dave@www.cndba.cn software]$
2.5 CM 配置处理
如果是主从复制环境,还需要处理cm配置。
gs_ssh -c "ls -ld /opengauss/cmserver/dcf_data/metadata"
gs_ssh -c "rm -rf /opengauss/cmserver/dcf_data/metadata"
删除动态文件
gs_ssh -c "ls -l /opengauss/app_46134f73/bin/cluster_dynamic_config"
gs_ssh -c "rm -rf /opengauss/app_46134f73/bin/cluster_dynamic_config"
gs_ssh工具会在openGauss各节点上同时执行相同的命令。
3验证
[dave@www.cndba.cn bin]$ gs_om -t start
Starting cluster.
=========================================
[SUCCESS] oracle2
2023-04-07 09:13:17.565 642f6e2d.1 [unknown] 139846803292416 [unknown] 0 dn_6001 01000 0 [BACKEND] WARNING: could not create any HA TCP/IP sockets
2023-04-07 09:13:17.565 642f6e2d.1 [unknown] 139846803292416 [unknown] 0 dn_6001 01000 0 [BACKEND] WARNING: could not create any HA TCP/IP sockets
2023-04-07 09:13:17.573 642f6e2d.1 [unknown] 139846803292416 [unknown] 0 dn_6001 01000 0 [BACKEND] WARNING: Failed to initialize the memory protect for g_instance.attr.attr_storage.cstore_buffers (1024 Mbytes) or shared memory (4470 Mbytes) is larger.
=========================================
Successfully started.
[dave@www.cndba.cn bin]$ gs_om -t status
-----------------------------------------------------------------------
cluster_name : dbCluster
cluster_state : Normal
redistributing : No
-----------------------------------------------------------------------
[dave@www.cndba.cn bin]$ ps -ef|grep openGauss
omm 27280 21167 0 09:14 pts/1 00:00:00 grep --color=auto openGauss
[dave@www.cndba.cn bin]$ ps -ef|grep openG
omm 26536 1 10 09:13 ? 00:00:05 /data/openGuass/install/app/bin/gaussdb -D /data/openGuass/install/data/dn
omm 27287 21167 0 09:14 pts/1 00:00:00 grep --color=auto openG
[dave@www.cndba.cn bin]$
版权声明:本文为博主原创文章,未经博主允许不得转载。