greenplum 移动mirror节点测试

环境信息:

Red Hat Enterprise Linux Server release 7.5 (Maipo)

Greenplum Database 5.16.0

[gpadmin@rhmdw gpadata]$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.15.201  rhmdw
192.168.15.202  rhsdw1
192.168.15.203  rhsdw2
192.168.15.205  rhsdw03
192.168.15.206  rhsdw04
 

移动gpmirror节点需要提前规划好新的mirror端口和路径。

规划的路径需要调整权限。

移动配置文件如下:

[gpadmin@rhmdw ~]$ more mirror_onfig
filespaceOrder=
rhsdw03:7000:/gp/gpdata/mirror/gpseg2 rhsdw04:7000:7001:/gp/gpdata/mirrors/gpseg2
rhsdw04:7000:/gp/gpdata/mirror/gpseg3 rhsdw03:7000:7001:/gp/gpdata/mirrors/gpseg3

mirror状态:

[gpadmin@rhmdw ~]$ gpstate -m
20190418:17:25:40:019708 gpstate:rhmdw:gpadmin-[INFO]:-Starting gpstate with args: -m
20190418:17:25:40:019708 gpstate:rhmdw:gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 5.16.0 build commit:23cec7df0406d69d6552a4bbb77035dba4d7dd44'
20190418:17:25:40:019708 gpstate:rhmdw:gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 8.3.23 (Greenplum Database 5.16.0 build commit:23cec7df0406d69d6552a4bbb77035dba4d7dd44) on x86_64-pc-linux-gnu, compiled by GCC gcc (GCC) 6.2.0, 64-bit compiled on Jan 16 2019 02:32:15'
20190418:17:25:40:019708 gpstate:rhmdw:gpadmin-[INFO]:-Obtaining Segment details from master...
20190418:17:25:40:019708 gpstate:rhmdw:gpadmin-[INFO]:--------------------------------------------------------------
20190418:17:25:40:019708 gpstate:rhmdw:gpadmin-[INFO]:--Current GPDB mirror list and status
20190418:17:25:40:019708 gpstate:rhmdw:gpadmin-[INFO]:--Type = Spread
20190418:17:25:40:019708 gpstate:rhmdw:gpadmin-[INFO]:--------------------------------------------------------------
20190418:17:25:40:019708 gpstate:rhmdw:gpadmin-[INFO]:-   Mirror    Datadir                    Port   Status    Data Status       
20190418:17:25:40:019708 gpstate:rhmdw:gpadmin-[INFO]:-   rhsdw2    /gp/gpdata/mirror/gpseg0   7000   Passive   Synchronized
20190418:17:25:40:019708 gpstate:rhmdw:gpadmin-[INFO]:-   rhsdw1    /gp/gpdata/mirror/gpseg1   7000   Passive   Synchronized
20190418:17:25:40:019708 gpstate:rhmdw:gpadmin-[INFO]:-   rhsdw03   /gp/gpdata/mirror/gpseg2   7000   Passive   Synchronized
20190418:17:25:40:019708 gpstate:rhmdw:gpadmin-[INFO]:-   rhsdw04   /gp/gpdata/mirror/gpseg3   7000   Passive   Synchronized
20190418:17:25:40:019708 gpstate:rhmdw:gpadmin-[INFO]:--------------------------------------------------------------

开始移动:

[gpadmin@rhmdw ~]$ gpmovemirrors -i mirror_onfig
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[INFO]:-Invocation of gpmovemirrors mirrors
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[INFO]:-Option values for this invocation of gpmovemirrors are:
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[INFO]:-
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[INFO]:-  --input                 = mirror_onfig
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[INFO]:-  --master-data-directory = /gp/gpdata/master/gpseg-1
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[INFO]:-  --batch-size            = 16
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[INFO]:-  --verbose               = False
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[INFO]:-
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-Connecting to dbname='template1'
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-mirror_onfig:1
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-mirror_onfig:2
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-  name=oldAddress                     delimiter=':' value=rhsdw03
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-  name=oldPort                        delimiter=':' value=7000
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-  name=oldDataDirectory               delimiter=' ' value=/gp/gpdata/mirror/gpseg2
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-  name=newAddress                     delimiter=':' value=rhsdw04
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-  name=newPort                        delimiter=':' value=7000
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-  name=newReplicationPort             delimiter=':' value=7001
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-  name=newDataDirectory               delimiter=':' value=/gp/gpdata/mirrors/gpseg2
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-mirror_onfig:3
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-  name=oldAddress                     delimiter=':' value=rhsdw04
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-  name=oldPort                        delimiter=':' value=7000
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-  name=oldDataDirectory               delimiter=' ' value=/gp/gpdata/mirror/gpseg3
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-  name=newAddress                     delimiter=':' value=rhsdw03
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-  name=newPort                        delimiter=':' value=7000
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-  name=newReplicationPort             delimiter=':' value=7001
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-  name=newDataDirectory               delimiter=':' value=/gp/gpdata/mirrors/gpseg3
20190418:17:26:32:020081 gpmovemirrors:rhmdw:gpadmin-[INFO]:-About to run gprecoverseg with options: -i mirror_onfig -v -a -d /gp/gpdata/master/gpseg-1
20190418:17:27:38:020081 gpmovemirrors:rhmdw:gpadmin-[INFO]:-About to remove old mirror segment directory: /gp/gpdata/mirror/gpseg2
20190418:17:27:38:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-Adding cmd to work_queue: if [ -d /gp/gpdata/mirror/gpseg2 ]; then mkdir -p /tmp/emptyForRemovec10614c0-4bc9-4e9b-b685-ebc68ae0a223  &&  /bin/rsync -a --delete /tmp/emptyForRemovec10614c0-4bc9-4e9b-b685-ebc68ae0a223/ /gp/gpdata/mirror/gpseg2/  &&  rmdir /gp/gpdata/mirror/gpseg2 /tmp/emptyForRemovec10614c0-4bc9-4e9b-b685-ebc68ae0a223 ; fi
20190418:17:27:38:020081 gpmovemirrors:rhmdw:gpadmin-[INFO]:-About to remove old mirror segment directory: /gp/gpdata/mirror/gpseg3
20190418:17:27:38:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-Adding cmd to work_queue: if [ -d /gp/gpdata/mirror/gpseg3 ]; then mkdir -p /tmp/emptyForRemovef0832b5c-29fd-4280-a475-2f6e92e6694d  &&  /bin/rsync -a --delete /tmp/emptyForRemovef0832b5c-29fd-4280-a475-2f6e92e6694d/ /gp/gpdata/mirror/gpseg3/  &&  rmdir /gp/gpdata/mirror/gpseg3 /tmp/emptyForRemovef0832b5c-29fd-4280-a475-2f6e92e6694d ; fi
20190418:17:27:38:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-[worker0] got cmd: if [ -d /gp/gpdata/mirror/gpseg2 ]; then mkdir -p /tmp/emptyForRemovec10614c0-4bc9-4e9b-b685-ebc68ae0a223  &&  /bin/rsync -a --delete /tmp/emptyForRemovec10614c0-4bc9-4e9b-b685-ebc68ae0a223/ /gp/gpdata/mirror/gpseg2/  &&  rmdir /gp/gpdata/mirror/gpseg2 /tmp/emptyForRemovec10614c0-4bc9-4e9b-b685-ebc68ae0a223 ; fi
20190418:17:27:38:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-[worker1] got cmd: if [ -d /gp/gpdata/mirror/gpseg3 ]; then mkdir -p /tmp/emptyForRemovef0832b5c-29fd-4280-a475-2f6e92e6694d  &&  /bin/rsync -a --delete /tmp/emptyForRemovef0832b5c-29fd-4280-a475-2f6e92e6694d/ /gp/gpdata/mirror/gpseg3/  &&  rmdir /gp/gpdata/mirror/gpseg3 /tmp/emptyForRemovef0832b5c-29fd-4280-a475-2f6e92e6694d ; fi
20190418:17:27:38:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-[worker1] finished cmd: remove old mirror segment directories cmdStr='ssh -o StrictHostKeyChecking=no -o ServerAliveInterval=60 rhsdw04 ". /gp/greenplum-db/./greenplum_path.sh; if [ -d /gp/gpdata/mirror/gpseg3 ]; then mkdir -p /tmp/emptyForRemovef0832b5c-29fd-4280-a475-2f6e92e6694d  &&  /bin/rsync -a --delete /tmp/emptyForRemovef0832b5c-29fd-4280-a475-2f6e92e6694d/ /gp/gpdata/mirror/gpseg3/  &&  rmdir /gp/gpdata/mirror/gpseg3 /tmp/emptyForRemovef0832b5c-29fd-4280-a475-2f6e92e6694d ; fi"'  had result: cmd had rc=0 completed=True halted=False
  stdout=''
  stderr=''
20190418:17:27:39:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-[worker0] finished cmd: remove old mirror segment directories cmdStr='ssh -o StrictHostKeyChecking=no -o ServerAliveInterval=60 rhsdw03 ". /gp/greenplum-db/./greenplum_path.sh; if [ -d /gp/gpdata/mirror/gpseg2 ]; then mkdir -p /tmp/emptyForRemovec10614c0-4bc9-4e9b-b685-ebc68ae0a223  &&  /bin/rsync -a --delete /tmp/emptyForRemovec10614c0-4bc9-4e9b-b685-ebc68ae0a223/ /gp/gpdata/mirror/gpseg2/  &&  rmdir /gp/gpdata/mirror/gpseg2 /tmp/emptyForRemovec10614c0-4bc9-4e9b-b685-ebc68ae0a223 ; fi"'  had result: cmd had rc=0 completed=True halted=False
  stdout=''
  stderr=''
20190418:17:27:39:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-WorkerPool haltWork()
20190418:17:27:39:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-[worker0] haltWork
20190418:17:27:39:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-[worker1] haltWork
20190418:17:27:39:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-[worker0] got a halt cmd
20190418:17:27:39:020081 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-[worker1] got a halt cmd

查看移动后状态:

[gpadmin@rhmdw ~]$ gpstate -m
20190418:17:27:51:020333 gpstate:rhmdw:gpadmin-[INFO]:-Starting gpstate with args: -m
20190418:17:27:51:020333 gpstate:rhmdw:gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 5.16.0 build commit:23cec7df0406d69d6552a4bbb77035dba4d7dd44'
20190418:17:27:51:020333 gpstate:rhmdw:gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 8.3.23 (Greenplum Database 5.16.0 build commit:23cec7df0406d69d6552a4bbb77035dba4d7dd44) on x86_64-pc-linux-gnu, compiled by GCC gcc (GCC) 6.2.0, 64-bit compiled on Jan 16 2019 02:32:15'
20190418:17:27:51:020333 gpstate:rhmdw:gpadmin-[INFO]:-Obtaining Segment details from master...
20190418:17:27:51:020333 gpstate:rhmdw:gpadmin-[INFO]:--------------------------------------------------------------
20190418:17:27:51:020333 gpstate:rhmdw:gpadmin-[INFO]:--Current GPDB mirror list and status
20190418:17:27:51:020333 gpstate:rhmdw:gpadmin-[INFO]:--Type = Spread
20190418:17:27:51:020333 gpstate:rhmdw:gpadmin-[INFO]:--------------------------------------------------------------
20190418:17:27:51:020333 gpstate:rhmdw:gpadmin-[INFO]:-   Mirror    Datadir                     Port   Status    Data Status       
20190418:17:27:51:020333 gpstate:rhmdw:gpadmin-[INFO]:-   rhsdw2    /gp/gpdata/mirror/gpseg0    7000   Passive   Synchronized
20190418:17:27:51:020333 gpstate:rhmdw:gpadmin-[INFO]:-   rhsdw1    /gp/gpdata/mirror/gpseg1    7000   Passive   Synchronized
20190418:17:27:51:020333 gpstate:rhmdw:gpadmin-[INFO]:-   rhsdw04   /gp/gpdata/mirrors/gpseg2   7000   Passive   Resynchronizing
20190418:17:27:51:020333 gpstate:rhmdw:gpadmin-[INFO]:-   rhsdw03   /gp/gpdata/mirrors/gpseg3   7000   Passive   Resynchronizing
20190418:17:27:51:020333 gpstate:rhmdw:gpadmin-[INFO]:--------------------------------------------------------------

如路径不存在会提示以下报错:

[gpadmin@rhmdw ~]$ gpmovemirrors -i mirror_onfig
20190418:17:14:49:018181 gpmovemirrors:rhmdw:gpadmin-[INFO]:-Invocation of gpmovemirrors mirrors
20190418:17:14:49:018181 gpmovemirrors:rhmdw:gpadmin-[INFO]:-Option values for this invocation of gpmovemirrors are:
20190418:17:14:49:018181 gpmovemirrors:rhmdw:gpadmin-[INFO]:-
20190418:17:14:49:018181 gpmovemirrors:rhmdw:gpadmin-[INFO]:-  --input                 = mirror_onfig
20190418:17:14:49:018181 gpmovemirrors:rhmdw:gpadmin-[INFO]:-  --master-data-directory = /gp/gpdata/master/gpseg-1
20190418:17:14:49:018181 gpmovemirrors:rhmdw:gpadmin-[INFO]:-  --batch-size            = 16
20190418:17:14:49:018181 gpmovemirrors:rhmdw:gpadmin-[INFO]:-  --verbose               = False
20190418:17:14:49:018181 gpmovemirrors:rhmdw:gpadmin-[INFO]:-
20190418:17:14:49:018181 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-Connecting to dbname='template1'
20190418:17:14:49:018181 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-mirror_onfig:1
20190418:17:14:49:018181 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-mirror_onfig:2
20190418:17:14:49:018181 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-  name=oldAddress                     delimiter=':' value=rhsdw03
20190418:17:14:49:018181 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-  name=oldPort                        delimiter=':' value=7000
20190418:17:14:49:018181 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-  name=oldDataDirectory               delimiter=' ' value=/gp/gpdata/mirror/gpseg2
20190418:17:14:49:018181 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-  name=newAddress                     delimiter=':' value=rhsdw04
20190418:17:14:49:018181 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-  name=newPort                        delimiter=':' value=7000
20190418:17:14:49:018181 gpmovemirrors:rhmdw:gpadmin-[DEBUG]:-  name=newReplicationPort             delimiter=':' value=/gp/gpdata/mirrors/gpseg2
20190418:17:14:49:018181 gpmovemirrors:rhmdw:gpadmin-[ERROR]:-gpmovemirrors failed: mirror_onfig:2:parse_gpmovemirrors_line() LINE >>rhsdw03:7000:/gp/gpdata/mirror/gpseg2 rhsdw04:7000:/gp/gpdata/mirrors/gpseg2
out of values (reading newDataDirectory)

Exiting...

 

参考文档:

https://gp-docs-cn.github.io/docs/best_practices/ha.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值