在本地环境搭建的一套集群,每执行一步,做一遍记录,内容比较繁琐,直接按照步骤操作基本上就可以完成。
本次搭建的集群规模如下:
主机类别 | 主机名 | 主机IP |
管理节点 | gma01 | 192.168.192.10 |
备节点 | gma02 | 192.168.192.11 |
数据节点 | gdata01 | 192.168.192.12 |
gdata02 | 192.168.192.13 |
[root@gma01 yum.repos.d]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.4 (Maipo)
greenplum-db-5.14.0-rhel7-x86_64.zip
(一)配置root互信,方便之后传文件使用
(1)各个服务器分别执行
[root@gma01 ~]# ssh-keygen -t rsa [root@gma02 ~]# ssh-keygen -t rsa [root@gdata01 ~]# ssh-keygen -t rsa [root@gdata02 ~]# ssh-keygen -t rsa
(2)将生成完的id_rsa.pub统一放到一台主机上
[root@gma02 ~]# scp ~/.ssh/id_rsa.pub 192.168.192.10:~/.ssh/pub-1 [root@gdata01 ~]# scp ~/.ssh/id_rsa.pub 192.168.192.10:~/.ssh/pub-2 [root@gdata02 ~]# scp ~/.ssh/id_rsa.pub 192.168.192.10:~/.ssh/pub-3
(3)将所有主机的id_rsa.pub统一追加到authorized_keys中,做一次整合
[root@gma01 ~]# cat ~/.ssh/id_rsa.pub >> authorized_keys [root@gma01 ~]# cat ~/.ssh/pub-1 >> authorized_keys [root@gma01 ~]# cat ~/.ssh/pub-2 >> authorized_keys [root@gma01 ~]# cat ~/.ssh/pub-3 >> authorized_keys
(4)将整合完的autuorized_keys分发到各个服务器上
[root@gma01 ~]# scp ~/.ssh/authorized_keys 192.168.192.11:~/.ssh/authorized_keys [root@gma01 ~]# scp ~/.ssh/authorized_keys 192.168.192.12:~/.ssh/authorized_keys [root@gma01 ~]# scp ~/.ssh/authorized_keys 192.168.192.13:~/.ssh/authorized_keys
(5)验证服务器互信是否正常
[root@gma01 ~]# ssh 192.168.192.11 date [root@gma01 ~]# ssh 192.168.192.12 date [root@gma01 ~]# ssh 192.168.192.13 date
(6)如果互信不生效,可以尝试修改互信权限
[root@gma01 ~]# chmod 700 ~/.ssh [root@gma01 ~]# chmod 600 ~/.ssh/authorized_keys
互信完成
(二)关闭防火墙
systemctl status firewalld systemctl stop firewalld.service systemctl disable firewalld.service iptable -L -n
(三)修改系统配置项
关闭SELINUX
vi /etc/selinux/config
SELINUX=disabled
(四)修改内核参数并执行 sysctl -p使之生效
vi /etc/sysctl.conf
kernel.shmmax = 500000000 kernel.shmmni = 4096 kernel.shmall = 4000000000 kernel.sem = 2000 4096000 2000 2048 kernel.sysrq = 1 kernel.core_uses_pid = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.msgmni = 2048 net.ipv4.tcp_syncookies = 1 net.ipv4.ip_forward = 0 net.ipv4.conf.default.accept_source_route = 0 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_max_syn_backlog = 4096 net.ipv4.conf.all.arp_filter = 1 net.ipv4.ip_local_port_range = 1025 65535 net.core.netdev_max_backlog = 10000 net.core.rmem_max = 2097152 net.core.wmem_max = 2097152 vm.overcommit_memory = 2
(五)修改文件OPEN数量
vi /etc/security/limits.conf
* soft nofile 65536 * hard nofile 65536 * soft nproc 131072 * hard nproc 131072
(六)配置节点/etc/hosts
将集群内的主机名和主机IP以配对形式存放到/etc/hosts中
(七)创建gpadmin用户
groupadd -g 530 gpadmin useradd -g 530 -u 530 -m -d /home/gpadmin -s /bin/bash gpadmin chown -R gpadmin:gpadmin /home/gpadmin echo "gpadmin" | passwd --stdin gpadmin
(八)开始安装GPDB
解压greenplum安装文件greenplum-db-5.14.0-rhel7-x86_64.zip
[gpadmin@gma01 opt]$ sh greenplum-db-5.14.0-rhel7-x86_64.bin
(九)创建配置文件目录
mkdir -p /home/gpadmin/gpconfig/ cd /home/gpadmin/gpconfig/
vi allhosts
gma01 gma02 gdata01 gdata02
vi seghosts
gdata01 gdata02
vi mashosts
gma01 gma02
cp /usr/local/greenplum-db/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/gpconfig/
(十)配置ssh免密链接
[gpadmin@gma01 ~]$ source /usr/local/greenplum-db/greenplum_path.sh [gpadmin@gma01 ~]$ gpssh-exkeys -f /home/gpadmin/gpconfig/allhosts
输入gpadmin用户密码
ssh测试是否连通
(十一)在segment安装部署
打包管理节点已经安装完的目录
[gpadmin@gma01 local]$ tar -cf gp.tar greenplum-db-5.14.0/
传输到seg主机上
[gpadmin@gma01 local]$ gpscp -f /home/gpadmin/gpconfig/seghosts gp.tar =:/usr/local/
在管理节点上执行解压等命令
[gpadmin@gma01 local]$ gpssh -f /home/gpadmin/gpconfig/seghosts => cd /usr/local [gdata01] [gdata02] => tar -xf gp.tar [gdata01] [gdata02] => ln -s ./greenplum-db-5.14.0 greenplum-db [gdata01] [gdata02] => ll
(十二)创建数据存储目录
[gpadmin@gma01 local]$ gpssh -f /home/gpadmin/gpconfig/mashosts => mkdir -p /home/gpadmin/data/master [ gma01] [ gma02]
[gpadmin@gma01 local]$ gpssh -f /home/gpadmin/gpconfig/seghosts => mkdir -p /data1/mirror [gdata01] [gdata02] => mkdir -p /data2/mirror [gdata01] [gdata02] => mkdir -p /data1/primary [gdata01] [gdata02] => mkdir -p /data2/primary [gdata01] [gdata02] =>
(十三)配置环境变量
vi /home/gpadmin/.bash_profile
source /usr/local/greenplum-db/greenplum_path.sh export MASTER_DATA_DIRECTORY=/home/gpadmin/data/master/gpseg-1 export GPPORT=5432 export PGDATABASE=gpdb scp /home/gpadmin/.bash_profile gdata01:/home/gpadmin/ source /home/gpadmin/.bash_profile
source /home/gpadmin/.bash_profile
(十四)初始化前检查连通性
[gpadmin@gma01 gpconfig]$ cd /usr/local/greenplum-db/bin
双联路测试如下:
[gpadmin@gma01 bin]$ gpcheckperf -f /home/gpadmin/allseg_1 -r M -d /tmp -D >> /home/gpadmin/net_seg1-14.out [gpadmin@gma01 bin]$ gpcheckperf -f /home/gpadmin/allseg_2 -r M -d /tmp -D >> /home/gpadmin/net_seg2-14.out
(十五)初始化
[gpadmin@gma01 gpconfig]$ gpinitsystem -c gpinitsystem_config -h seghosts
-c:指定初始化文件。
-h:指定segment主机文件。
-s:指定standby主机,创建standby节点。
评论