Greenplum高可用(副本)啓用

1. 啓用Primary Segment副本

1.1添加的副本Mirror Segment與Primary Segment位於同一臺主機

  • 創建用於存儲mirror節點數據目錄,注意目錄不能和primary的數據目錄相同;

      如:/data/primary用於存儲primary數據,/data/mirror用於存儲mirror數據。

  • 確保主機之間能夠免密登錄;
  • 使用gpaddmirrors啓用副本;
$ gpaddmirrors -p 10000

-p 指定mirror的端口基數,這種方式mirror是使用默認組鏡像配置進行添加。

1.2 添加的副本Mirror Segment與Primary Segment位於不同主機(推薦)

  • 確保集羣所有主機上已經安裝了greenplum數據庫;
  • 在集羣所有segment節點上創建用於存儲mirror節點數據的目錄,目錄不能和primary目錄相同;
  • 確保集羣主機之間互相能夠免密登錄;
  • 生成啓用mirror的配置文件

在greenplum master節點上執行如下命令:

[gpadmin@sdw ~]$ gpaddmirrors -o mirror_config
20190813:10:31:27:002945 gpaddmirrors:sdw :gpadmin-[INFO]:-Starting gpaddmirrors with args: -o mirror_config
20190813:10:31:27:002945 gpaddmirrors:sdw :gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 6.0.0-beta.4 build commit:706e161e4b02b3fb967c8c689cb1c3f9de6d0f6a'
20190813:10:31:27:002945 gpaddmirrors:sdw :gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 9.4.20 (Greenplum Database 6.0.0-beta.4 build commit:706e161e4b02b3fb967c8c689cb1c3f9de6d0f6a) on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 6.4.0, 64-bit compiled on Jun 20 2019 09:06:54'
20190813:10:31:27:002945 gpaddmirrors:sdw :gpadmin-[INFO]:-Obtaining Segment details from master...
20190813:10:31:28:002945 gpaddmirrors:sdw :gpadmin-[INFO]:-Heap checksum setting consistent across cluster
Enter mirror segment data directory location 1 of 2 >
/data/mirror
Enter mirror segment data directory location 2 of 2 >
/data/mirror
20190813:10:31:56:002945 gpaddmirrors:sdw:gpadmin-[INFO]:-Configuration file output to mirror_config successfully.

生成的mirror_config文件內容如下:

filespaceOrder=
mirror0=0:sdw1:sdw1-1:7001:8001:9001:/data/mirror
mirror1=1:sdw1:sdw1-2:7002:8002:9002:/data/mirror
mirror2=2:sdw2:sdw2-1:7001:8001:9001:/data/mirror
mirror3=3:sdw2:sdw2-2:7002:8002:9002:/data/mirror

1.3 配置文件內容說明

Mirror配置文件的格式爲:

filespaceOrder= [filespace1_fsname[:filespace2_fsname:...]mirror[content]=content:address:port:mir_replication_port:pri_replication_port:fselocation[: fselocation:...]

Mirror配置文件配置信息說明:

  • content:Mirror的序號,該序號與Primary的序號匹配
  • address:Mirror所在的主機名,其決定了Mirror位於哪裏
  • port:Mirror運行時的監聽端口,其功能與Primary活動時的端口類似
  • mir_replication_port:Mirror的同步程序端口
  • pri_replication_port:Primary的同步程序端口
  • fselocation:Mirror所在文件系統的數據存儲目錄

啓用mirror,執行如下命令:

$ gpaddmirrors -i mirror_config

執行以上命令後,segment高可用安裝成功。

2. 停用Primary Segment副本

對於停用greenplum集羣的副本,可以直接使用pg_ctl命令將mirror節點停止掉即可

$ pg_ctl stop -D dataDir

3. 啓用master節點高可用

給已經存在的greenplum集羣添加standby master,按照如下步驟進行:

  • 確保standby master 主機上已經安裝了greenplum數據庫,並且gpadmin用戶已經創建、環境變量配置、SSH免密登錄、standby master數據存儲目錄已創建;
  • 在master節點上執行gpinitstandby來啓用master高可用
$ gpinitstandby -s sdw

-s 指定standby master 所在主機。

4. standby master與master節點之間的切換

如果master節點掛掉了,可以使用gpactivatestandby命令來激活standby master。

如下:

$ gpactivatestandby -d /data/standby_master/gpseg-0

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章