热门IT资讯网

greenplum 集群安装配置(生产环境)

发表于:2024-11-24 作者:热门IT资讯网编辑
编辑最后更新 2024年11月24日,集群系统初始化信息:https://blog.51cto.com/michaelkang/2167195本文对敏感信息进行了替换!!!!下载软件包:cd /workspace/gpdb/wget dl
集群系统初始化信息:

https://blog.51cto.com/michaelkang/2167195

本文对敏感信息进行了替换!!!!

下载软件包:

cd /workspace/gpdb/

wget dl.#kjh#.com/greenplum-db-5.10.2-rhel7-x86_64.rpm

RPM方式,

默认安装到 /usr/local/greenplum-db/ (以root在master执行)
rpm -Uvh greenplum-db-5.10.2-rhel7-x86_64.rpm

建立节点信任关系
打通master到各节点的免密码登录 (以root在master执行)
source /usr/local/greenplum-db/greenplum_path.shgpssh-exkeys -f /workspace/gpdb/gp-all.txt
安装各个节点,并建立gpadmin用户(以root在master执行)
gpseginstall -f /workspace/gpdb/gp-all.txt -u gpadmin -p gpadmin
安装后检查
source /usr/local/greenplum-db/greenplum_path.shgpcheck -f /workspace/gpdb/gp-all.txt -m gpnode615.kjh.com  gpnode616.kjh.com \-s gpnode611.kjh.com gpnode612.kjh.com  gpnode613.kjh.com gpnode614.kjh.com
创建服务安装文件夹 (root用户master节点执行)

#gpssh工具可以同时在多个机器上执行相同命令,和ansible功能类似

/usr/local/gpdata :master 数据数据目录
/data/gpdata :sg 数据数据目录
/data01/gpdata :sg 数据数据目录

gpssh -f /workspace/gpdb/gp-all.txt=>groupadd -g 1888 gpadminuseradd -g 1888 -u 1888 -m -d /home/gpadmin -s /bin/bash gpadminchown -R gpadmin.gpadmin /home/gpadminecho "gpadmin" | passwd --stdin gpadminmkdir -p /usr/local/gpdata/gpmastermkdir -p /data/gpdata/primarymkdir -p /data01/gpdata/primarymkdir /data/gpdata/mirrormkdir /data01/gpdata/mirrorchown -R gpadmin:gpadmin /usr/local/gpdatachown -R gpadmin:gpadmin /data/gpdatachown -R gpadmin:gpadmin /data01/gpdata
验证
=> df -h|grep data[gpnode611.kjh.com] /dev/sdb        894G   33M  894G    1% /data01[gpnode611.kjh.com] /dev/sda        894G   33M  894G    1% /data[gpnode612.kjh.com] /dev/sda        932G   33M  932G    1% /data01[gpnode612.kjh.com] /dev/sdb        894G   33M  894G    1% /data[gpnode614.kjh.com] /dev/sda        932G   33M  932G    1% /data01[gpnode614.kjh.com] /dev/sdb        932G   33M  932G    1% /data[gpnode613.kjh.com] /dev/sdb        932G   33M  932G    1% /data[gpnode613.kjh.com] /dev/sda        932G   33M  932G    1% /data01
设置gpadmin账户的环境(gpadmin账户操作,master节点配置)
修改.bashrc
su - gpadmin cat >>/home/gpadmin/.bashrc<<-EOFsource /usr/local/greenplum-db/greenplum_path.sh export MASTER_DATA_DIRECTORY=/usr/local/gpdata/gpmaster/gpseg-1 export PGPORT=5432EOF
修改.bash_profile
su - gpadmin cat >>/home/gpadmin/.bash_profile<<-EOFsource /usr/local/greenplum-db/greenplum_path.shexport MASTER_DATA_DIRECTORY=/usr/local/gpdata/gpmaster/gpseg-1export PGPORT=5432EOF
使之生效
source ~/.bashrcsource ~/.bash_profile
segment 节点 (/etc/hosts文件中的hostname或alias一致)
cat >/usr/local/greenplum-db/all_segment<<-EOFgpnode611.kjh.com gpnode612.kjh.com gpnode613.kjh.com gpnode614.kjh.comEOF
验证
more  /usr/local/greenplum-db/all_segment     gpnode611.kjh.com gpnode612.kjh.com gpnode613.kjh.com gpnode614.kjh.com
初始化数据集群,(gpadmin账户操作,master节点配置)
增加gpinitsystem_config文件为模板

cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config /usr/local/greenplum-db/gpinit_config

配置gpinit_config
vi /usr/local/greenplum-db/gpinit_configARRAY_NAME="PT Greenplum Data Platform"SEG_PREFIX=gpsegPORT_BASE=40000declare -a DATA_DIRECTORY=(/data/gpdata/primary /data/gpdata/primary /data01/gpdata/primary /data01/gpdata/primary )MASTER_HOSTNAME=gpnode615.kjh.comMASTER_DIRECTORY=/usr/local/gpdata/gpmasterMASTER_PORT=5432MIRROR_PORT_BASE=50000REPLICATION_PORT_BASE=41000MIRROR_REPLICATION_PORT_BASE=51000TRUSTED_SHELL=sshCHECK_POINT_SEGMENTS=8ENCODING=UNICODEDATABASE_NAME=testgpdbMACHINE_LIST_FILE=/usr/local/greenplum-db/all_segmentdeclare -a MIRROR_DATA_DIRECTORY=(/data/gpdata/mirror /data/gpdata/mirror /data01/gpdata/mirror /data01/gpdata/mirror)
执行初始化,(master节点 gpadmin 用户执行)

gpinitsystem -c gpinit_config -h hostfile_segments

gpinitsystem命令参数解释:-c:指定初始化文件。-h:指定segment主机文件。-s:指定standby主机,创建standby节点。

su - gpadmin

gpinitsystem -c /usr/local/greenplum-db/gpinit_config -h /usr/local/greenplum-db/all_segment -s gpnode616.kjh.com
初始化过程:
输出集群初始化配置:
=>[INFO]:-Greenplum Database Creation Parameters=>[INFO]:---------------------------------------=>[INFO]:-Master Configuration=>[INFO]:---------------------------------------=>[INFO]:-Master instance name       = PT Greenplum Data Platform=>[INFO]:-Master hostname            = gpnode615.kjh.com=>[INFO]:-Master port                = 5432=>[INFO]:-Master instance dir        = /usr/local/gpdata/gpmaster/gpseg-1=>[INFO]:-Master LOCALE              = en_US.utf8................=>[INFO]:-Master IP address [4]      = 172.20.6.15=>[INFO]:-Master IP address [5]      = 172.20.6.221................=>[INFO]:-Standby Master             = gpnode616.kjh.com=>[INFO]:-Primary segment #          = 4=>[INFO]:-Standby IP address         = ::1=>[INFO]:-Standby IP address         = 172.20.6.16=>[INFO]:-Standby IP address         = 172.20.6.220....................=>[INFO]:----------------------------------------=>[INFO]:-Greenplum Primary Segment Configuration=>[INFO]:----------------------------------------=>[INFO]:-gpnode611.kjh.com    /data/gpdata/primary/gpseg0   40000   2       0       41000=>[INFO]:-gpnode611.kjh.com    /data/gpdata/primary/gpseg1   40001   3       1       41001=>[INFO]:-gpnode611.kjh.com    /data01/gpdata/primary/gpseg2         40002   4       2       41002.........................=>[INFO]:-gpnode614.kjh.com    /data01/gpdata/primary/gpseg14        40002   16      14      41002=>[INFO]:-gpnode614.kjh.com    /data01/gpdata/primary/gpseg15        40003   17      15      41003=>[INFO]:---------------------------------------=>[INFO]:-Greenplum Mirror Segment Configuration=>[INFO]:---------------------------------------=>[INFO]:-gpnode612.kjh.com    /data/gpdata/mirror/gpseg0    50000   18      0       51000=>[INFO]:-gpnode612.kjh.com    /data/gpdata/mirror/gpseg1    50001   19      1       51001.........................=>[INFO]:-gpnode611.kjh.com    /data01/gpdata/mirror/gpseg14         50002   32      14      51002=>[INFO]:-gpnode611.kjh.com    /data01/gpdata/mirror/gpseg15         50003   33      15      51003
查看配置正确,确认是否执行?

Continue with Greenplum creation Yy|Nn (default=N):

Y

输出初始化完成概要信息:
=>=>[INFO]:------------------------------------------------=>[INFO]:-Parallel process exit status=>[INFO]:------------------------------------------------=>[INFO]:-Total processes marked as completed           = 16=>[INFO]:-Total processes marked as killed              = 0=>[INFO]:-Total processes marked as failed              = 0=>[INFO]:------------------------------------------------=>[INFO]:-Commencing parallel build of mirror segment instances............................=>=>[INFO]:------------------------------------------------=>[INFO]:-Parallel process exit status=>[INFO]:------------------------------------------------=>[INFO]:-Total processes marked as completed           = 16=>[INFO]:-Total processes marked as killed              = 0=>[INFO]:-Total processes marked as failed              = 0=>[INFO]:------------------------------------------------.....................略=>=>]:-Process results...=>]:-   Successful segment starts                                            = 32=>]:-   Failed segment starts                                                = 0=>]:-   Skipped segment starts (segments are marked down in configuration)   = 0=>]:-----------------------------------------------------=>]:-Successfully started 32 of 32 segment instances =>]:-----------------------------------------------------.=>]:------------------------------------------------------=>]:-Greenplum standby master initialization parameters=>]:------------------------------------------------------=>]:-Greenplum master hostname               = gpnode615.kjh.com=>]:-Greenplum master data directory         = /usr/local/gpdata/gpmaster/gpseg-1=>]:-Greenplum master port                   = 5432=>]:-Greenplum standby master hostname       = gpnode616.kjh.com=>]:-Greenplum standby master port           = 5432=>]:-Greenplum standby master data directory = /usr/local/gpdata/gpmaster/gpseg-1=>]:-Greenplum update system catalog         = On
集群初始化成功输出信息如下:
=>:-Greenplum Database instance successfully created=>]:-------------------------------------------------------=>]:-To complete the environment configuration, please =>]:-update gpadmin .bashrc file with the following=>]:-1. Ensure that the greenplum_path.sh file is sourced=>]:-2. Add "export MASTER_DATA_DIRECTORY=/usr/local/gpdata/gpmaster/gpseg-1"=>]:-   to access the Greenplum scripts for this instance:=>]:-   or, use -d /usr/local/gpdata/gpmaster/gpseg-1 option for the Greenplum scripts=>]:-   Example gpstate -d /usr/local/gpdata/gpmaster/gpseg-1=>]:-Script log file = /home/gpadmin/gpAdminLogs/gpinitsystem_20180903.log=>]:-To remove instance, run gpdeletesystem utility=>]:-Standby Master gpnode616.kjh.com has been configured=>]:-To activate the Standby Master Segment in the event of Master=>]:-failure review options for gpactivatestandby=>]:-------------------------------------------------------=>]:-The Master /usr/local/gpdata/gpmaster/gpseg-1/pg_hba.conf post gpinitsystem=>]:-has been configured to allow all hosts within this new=>]:-array to intercommunicate. Any hosts external to this=>]:-new array must be explicitly added to this file=>]:-Refer to the Greenplum Admin support guide which is=>]:-located in the /usr/local/greenplum-db/./docs directory=>]:-------------------------------------------------------
系统登录初始化设置:
psql修改数据库密码:
psql -d testgpdb    gpdb=# alter user gpadmin with password 'gpadmin';    gpdb=# \q#### 远程登陆psql -p 5432 -d testgpdb # 查询当前版本select * from version();
设置监听IP和Port
vi ${MASTER_DATA_DIRECTORY}/postgresql.conf# 设置监听IP (* 生产环境慎用)listen_addresses = '${ host ip address } 'port = 5432#### 设置数据库白名单vi ${MASTER_DATA_DIRECTORY}/pg_hba.conf# 增加如下一条记录,允许用户密码模式和可以登陆的IP地址范围;#TYPE  DATABASE  USER   CIDR-ADDRESS     METHODhost    all     gpadmin     0.0.0.0/0        md5# 测试登陆psql -p 5432 -h 172.20.6.15 -U gpadmin -d testgpdb 
至此集群配置完成.

可以使用这篇文章的命令查看集群状态:
https://blog.51cto.com/michaelkang/2169857

参考信息:

https://gpdb.docs.pivotal.io/43170/install_guide/init_gpdb.html
https://gp-docs-cn.github.io/docs/utility_guide/admin_utilities/gprecoverseg.html

0