greenplum的扩容(2)-迁移数据节点

按计划将sdw2的m-seg0迁移到sdw3上去。

 

--先在数据库全部启动下备份gp_segment_configuration

[gpadmin@mdwmaster]$ pg_dump -t gp_segment_configuration -c -f~/gp_segment_configuration.dat

 

--只启动matser

[gpadmin@mdwmaster]$ gpstart -m

20150503:19:37:42:043837gpstart:mdw:gpadmin-[INFO]:-Starting gpstart with args: -m

20150503:19:37:43:043837gpstart:mdw:gpadmin-[INFO]:-Gathering information and validating theenvironment...

20150503:19:37:45:043837gpstart:mdw:gpadmin-[INFO]:-Greenplum Binary Version: 'postgres (GreenplumDatabase) 4.3.4.1 build 2'

20150503:19:37:45:043837gpstart:mdw:gpadmin-[INFO]:-Greenplum Catalog Version: '201310150'

20150503:19:37:45:043837gpstart:mdw:gpadmin-[INFO]:-Master-only start requested in configurationwithout a standby master.

                                                                       

Continuewith master-only startup Yy|Nn (default=N):

> y

20150503:19:37:48:043837gpstart:mdw:gpadmin-[INFO]:-Starting Master instance in admin mode

20150503:19:37:51:043837gpstart:mdw:gpadmin-[INFO]:-Obtaining Greenplum Master catalog information

20150503:19:37:51:043837gpstart:mdw:gpadmin-[INFO]:-Obtaining Segment details from master...

20150503:19:37:52:043837gpstart:mdw:gpadmin-[INFO]:-Setting new master era

20150503:19:37:52:043837gpstart:mdw:gpadmin-[INFO]:-Master Started...

 

--进入utility模式

[gpadmin@mdwmaster]$ PGOPTIONS="-cgp_session_role=utility" psql

psql(8.2.15)

Type"help" for help.

 

--获得修改systemcatalog的权限

default_login_database_name=#set allow_system_table_mods='dml';

SET

 

default_login_database_name=#update gp_segment_configuration sethostname='sdw3',address='sdw3',status='d' where(content in(0) and role='m');          #将要迁移的节点标记成d

UPDATE1

 

default_login_database_name=#update gp_segment_configuration set mode='c' where(content in (0) and role ='p');                      #将down掉的primary的模式从同步S改为改变追踪c

UPDATE1

 

default_login_database_name=# select * from gp_segment_configuration ;

 dbid | content | role | preferred_role | mode| status | port  | hostname | address |replication_port | san_mou

nts

------+---------+------+----------------+------+--------+-------+----------+---------+------------------+--------

----

    1 |     -1 | p    | p              | s    | u     |  5432 | mdw      | mdw    |                  |

    3 |      1 | p    | p              | s    | u     | 40000 | sdw2     | sdw2    |           41000 |

    5 |      1 | m    | m              | s    | u     | 50000 | sdw1     | sdw1    |           51000 |

    2 |      0 | p    | p              | c    | u     | 40000 | sdw1     | sdw1    |           41000 |

    4 |      0 | m    | m              | s    | d     | 50000 | sdw3     | sdw3    |           51000 |

(5rows)

--在恢复前应先在对应主机上建好数据目录

[gpadmin@sdw3~]$ mkdir /data1/mirror/mirror_fspc

[gpadmin@sdw3~]$ mkdir /data1/mirror/mirror_fspc/gpseg0

 

--执行全量恢复

[gpadmin@mdw~]$ gprecoverseg -F

20150504:20:32:06:005249gprecoverseg:mdw:gpadmin-[INFO]:-Starting gprecoverseg with args: -F

20150504:20:32:07:005249gprecoverseg:mdw:gpadmin-[INFO]:-local Greenplum Version: 'postgres (GreenplumDatabase) 4.3.4.1 build 2'

20150504:20:32:07:005249gprecoverseg:mdw:gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 8.2.15(Greenplum Database 4.3.4.1 build 2) on x86_64-unknown-linux-gnu, compiled byGCC gcc (GCC) 4.4.2 compiled on Feb 10 2015 14:15:10'

20150504:20:32:07:005249gprecoverseg:mdw:gpadmin-[INFO]:-Checking if segments are ready

20150504:20:32:07:005249gprecoverseg:mdw:gpadmin-[INFO]:-Obtaining Segment details from master...

20150504:20:32:07:005249gprecoverseg:mdw:gpadmin-[INFO]:-Obtaining Segment details from master...

20150504:20:32:08:005249gprecoverseg:mdw:gpadmin-[INFO]:-Performing persistent table check

20150504:20:32:16:005249gprecoverseg:mdw:gpadmin-[INFO]:-Greenplum instance recovery parameters

20150504:20:32:16:005249gprecoverseg:mdw:gpadmin-[INFO]:----------------------------------------------------------

20150504:20:32:16:005249gprecoverseg:mdw:gpadmin-[INFO]:-Recovery type              = Standard

20150504:20:32:16:005249gprecoverseg:mdw:gpadmin-[INFO]:----------------------------------------------------------

20150504:20:32:16:005249gprecoverseg:mdw:gpadmin-[INFO]:-Recovery 1 of 1

20150504:20:32:16:005249gprecoverseg:mdw:gpadmin-[INFO]:----------------------------------------------------------

20150504:20:32:16:005249gprecoverseg:mdw:gpadmin-[INFO]:-  Synchronization mode                         = Full

20150504:20:32:16:005249gprecoverseg:mdw:gpadmin-[INFO]:-  Failed instance host                         = sdw3

20150504:20:32:16:005249gprecoverseg:mdw:gpadmin-[INFO]:-  Failed instance address                      = sdw3

20150504:20:32:16:005249gprecoverseg:mdw:gpadmin-[INFO]:-  Failed instance directory                    = /data1/mirror/gpseg0

20150504:20:32:16:005249gprecoverseg:mdw:gpadmin-[INFO]:-  Failed instance port                         = 50000

20150504:20:32:16:005249gprecoverseg:mdw:gpadmin-[INFO]:-  Failed instance replication port             = 51000

20150504:20:32:16:005249gprecoverseg:mdw:gpadmin-[INFO]:-  Failed instance fs_test directory            = /data1/mirror/mirror_fspc/gpseg0

20150504:20:32:16:005249gprecoverseg:mdw:gpadmin-[INFO]:-  Recovery Source instance host                = sdw1

20150504:20:32:16:005249gprecoverseg:mdw:gpadmin-[INFO]:-  Recovery Source instance address             = sdw1

20150504:20:32:16:005249gprecoverseg:mdw:gpadmin-[INFO]:-  Recovery Source instance directory           = /data1/primary/gpseg0

20150504:20:32:16:005249gprecoverseg:mdw:gpadmin-[INFO]:-  Recovery Source instance port                = 40000

20150504:20:32:16:005249gprecoverseg:mdw:gpadmin-[INFO]:-  Recovery Source instance replication port    = 41000

20150504:20:32:16:005249gprecoverseg:mdw:gpadmin-[INFO]:-  Recovery Source instance fs_test directory   = /data1/primary/primary_fspc/gpseg0

20150504:20:32:16:005249gprecoverseg:mdw:gpadmin-[INFO]:-  Recovery Target                              = in-place

20150504:20:32:16:005249gprecoverseg:mdw:gpadmin-[INFO]:----------------------------------------------------------

 

Continuewith segment recovery procedure Yy|Nn (default=N):

>y

20150504:20:38:32:006421gprecoverseg:mdw:gpadmin-[INFO]:-1 segment(s) to recover

20150504:20:38:32:006421gprecoverseg:mdw:gpadmin-[INFO]:-Ensuring 1 failed segment(s) are stopped

 

20150504:20:38:33:006421gprecoverseg:mdw:gpadmin-[INFO]:-Ensuring that shared memory is cleaned up forstopped segments

20150504:20:38:38:006421gprecoverseg:mdw:gpadmin-[INFO]:-Cleaning files from 1 segment(s)

.

20150504:20:38:39:006421gprecoverseg:mdw:gpadmin-[INFO]:-Building template directory

20150504:20:38:40:006421gprecoverseg:mdw:gpadmin-[INFO]:-Validating remote directories

.

20150504:20:38:41:006421gprecoverseg:mdw:gpadmin-[INFO]:-Copying template directory file

.

20150504:20:38:42:006421gprecoverseg:mdw:gpadmin-[INFO]:-Configuring new segments

.

20150504:20:38:43:006421gprecoverseg:mdw:gpadmin-[INFO]:-Cleaning files

.

20150504:20:38:44:006421gprecoverseg:mdw:gpadmin-[INFO]:-Starting file move procedure forsdw3:/data1/mirror/gpseg0:content=0:dbid=4:mode=s:status=d

updatingflat files

20150504:20:38:44:006421gprecoverseg:mdw:gpadmin-[INFO]:-Updating configuration with new mirrors

20150504:20:38:44:006421gprecoverseg:mdw:gpadmin-[INFO]:-Updating mirrors

.

20150504:20:38:45:006421gprecoverseg:mdw:gpadmin-[INFO]:-Starting mirrors

20150504:20:38:46:006421gprecoverseg:mdw:gpadmin-[INFO]:-Commencing parallel primary and mirror segmentinstance startup, please wait...

..

20150504:20:38:48:006421gprecoverseg:mdw:gpadmin-[INFO]:-Process results...

20150504:20:38:48:006421gprecoverseg:mdw:gpadmin-[INFO]:-Updating configuration to mark mirrors up

20150504:20:38:48:006421gprecoverseg:mdw:gpadmin-[INFO]:-Updating primaries

20150504:20:38:48:006421gprecoverseg:mdw:gpadmin-[INFO]:-Commencing parallel primary conversion of 1segments, please wait...

.........................

20150504:20:39:14:006421gprecoverseg:mdw:gpadmin-[INFO]:-Process results...

20150504:20:39:14:006421gprecoverseg:mdw:gpadmin-[INFO]:-Done updating primaries

20150504:20:39:14:006421gprecoverseg:mdw:gpadmin-[INFO]:-******************************************************************

20150504:20:39:14:006421gprecoverseg:mdw:gpadmin-[INFO]:-Updating segments for resynchronization iscompleted.

20150504:20:39:14:006421gprecoverseg:mdw:gpadmin-[INFO]:-For segments updated successfully,resynchronization will continue in the background.

20150504:20:39:14:006421gprecoverseg:mdw:gpadmin-[INFO]:-

20150504:20:39:14:006421gprecoverseg:mdw:gpadmin-[INFO]:-Use gpstate -s  to check theresynchronization progress.

20150504:20:39:14:006421gprecoverseg:mdw:gpadmin-[INFO]:-******************************************************************

 

恢复成功!

 

关闭数据库,并将原sdw2中m-seg0的文件重新另命名,再次启动数据库成功,删除该节点,数据节点迁移成功完毕。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值