Greenplum——数据迁移(成倍增加计算能力)

  

前言

  

GPDB数据迁移可以通过全量恢复的方式,如果原来有3个机器,每个机器上面有2个,2个镜子,那么可以通过扩展3部机器,变成每部机器上一个小学,一个镜子,在迁移的过程中,需要保证:

  

原有的机器利用主+镜子可以组成一个完成的原有集群DB,可以正常启动,这样才能全量恢复,将数据恢复到扩展的机器上。

  

如下图,将原有机器的P1、P2、P3/mo/M2/M3迁移到新机器,原有机器依然保留P0/P2/P4/M1/M2/M3能够启动整个数据库

  

 Greenplum——数据迁移(成倍增加计算能力)

  

一、新机器准备工作:

  
1.1,开始设置新机器的一些参数,这些和之前安装GPDB是一样的,包括新建gpadmin组,gpadmin用户,关闭新机器防火墙h5> [root@gpsegment2 ~] # systemctl firewalld停止。服务
[root@gpsegment2 ~] # systemctl禁用firewalld.service

  
1.2,修改所有机器的主机文件,同时建立ssh互信免密码登陆h5> (gpadmin@gpsegment2 ~) $ #的/etc/hosts vim修改主机文件
192.168.56.103 gpmaster
192.168.56.101 gpsegment3
192.168.56.104 gpsegment1
192.168.56.105 gpsegment2
192.168.56.102 gpsegment4
192.168.56.106 gpsegment5
192.168.56.107 gpsegment6

  

[gpadmin@gpmaster conf]美元gpssh-exkeys - f hostlist #将新机器域名加入到hostlist文件,运行即可建立ssh互信

  
1.3,在所有新机器建立GPDB安装目录/opt/greenplum(这个目录需要跟其他旧机器保持一致,同时将文件夹所有权赋予gpadmin用户)
  

 Greenplum——数据迁移(成倍增加计算能力)

  
1.4,和之前安装GPDB一样,压缩并拷贝大师机器上的/opt/greenplum/greenplum-db-4.3.17.0安装包到新机器上,并解压,解压后建立软连接h5> [gpadmin@localhost greenplum]美元ln - s greenplum-db-4.3.17.0/greenplum-db
 greenplum——数据迁移(成倍增加计算能力)

  

二,开始迁移数据

  

迁移设置的目的是,让原有的机器通过组合一半主+镜子暂时先设置为初选,并且设置为不同步数据,然后将另外一半需要迁移的主要+镜子的状态都设置为宕机了,同时都设置为镜子,并且设置为同步数据中;这样先将数据库启动起来,数据库检查发现有一节半镜点宕机了,就忽略了,然后利用其他的先启动,此时,数据库依然可以使用,我们通过GPDB自带的恢复工具,让他自动将宕机的镜子都全量恢复,如此即可完成数据迁移

  
2.1,仅主机模式启动GPDB h5> [gpadmin@gpmaster ~]美元gpstart - m
[gpadmin@gpmaster ~] $ PGOPTIONS=' - c gp_session_role=效用的psql #效用模式进入交互testdb
=#设置allow_system_table_mods=' dml #设置为允许修改系统配置表

  
2.2,修改gp_segment_configuration将要迁移的数据库主机名/地址修改到对应的目标机器上,同时将状态设置为d状态,作用角色设置为m
  

 Greenplum——数据迁移(成倍增加计算能力)

  
2.3,修改gp_segment_configuration将不需要迁移的DB作用角色设置为p模式设置为c,状态设置为u
  

 Greenplum——数据迁移(成倍增加计算能力)

  
2.4,关闭数据库,gpstop,重启数据gpstart——
  

有6台机器无法启动,被忽略了,但是正常启动了6台,所以可以使用
[gpadmin@gpmaster ~]美元gpstart——
 Greenplum——数据迁移(成倍增加计算能力)

  
2.5,通过gpstate - m可以查看镜子状态h5> 3个镜子是失败,另外3个被当成主机启动了
 Greenplum——数据迁移(成倍增加计算能力)

  
2.6,执行全量恢复数据库h5> [gpadmin@gpmaster ~]美元gprecoverseg - f
可以查看到数据库已经启动恢复
 Greenplum——数据迁移(成倍增加计算能力)”> <br/>开启另外一个窗口,运行gpstate - m可以查看恢复进度<br/> <img src=Greenplum——数据迁移(成倍增加计算能力)