1、关闭防火墙,关闭selinux
关闭防火墙(三台)
临时关闭:
systemctl stop firewalld
防火墙开机关闭:
systemctl disable firewalld
查看状态:
systemctl status firewalld
2、关闭selinux(三台)
永久关闭:编辑/etc/selinux/config
将文本中的SELINUX=enforcing,改为SELINUX=disabled。然后重启
即时有效:setenforce 0
3、配置hosts
4、集群间互信(免密)
免密配置(三台)例 master、slave1、slave2
ssh-keygen -t rsa 四步回车
分别slave1、slave2在节点上:
[root@slave1 ~]# cp ~/.ssh/id_rsa.pub ~/.ssh/slave1_id_rsa.pub
[root@slave2 ~]# cp ~/.ssh/id_rsa.pub ~/.ssh/slave2_id_rsa.pub
[root@slave1 ~]# scp ~/.ssh/slave1_id_rsa.pub master:~/.ssh/
[root@slave2 ~]# scp ~/.ssh/slave2_id_rsa.pub master:~/.ssh/
[root@master .ssh]# cat id_rsa.pub slave1_id_rsa.pub slave2_id_rsa.pub >>authorized_keys
[root@master .ssh]# scp ~/.ssh/authorized_keys slave2:~/.ssh/
[root@master .ssh]# scp ~/.ssh/authorized_keys slave1:~/.ssh/
在master节点上:
[root@master ~]# chmod 700 ~/.ssh
[root@master ~]# chmod 600 ~/.ssh/authorized_keys
在slave1节点上:
[root@slave1 ~]# chmod 700 ~/.ssh
[root@slave1 ~]# chmod 600 ~/.ssh/authorized_keys
在slave2节点上:
[root@slave2 ~]# chmod 700 ~/.ssh
[root@slave2 ~]# chmod 600 ~/.ssh/authorized_keys
5、新增用户(三台)
增加GP数据库超级用户gpadmin
创建用户组
groupadd gpadmin
创建用户,并添加到gpadmin组
useradd -g gpadmin gpadmin
修改密码
passwd gpadmin
6、修改内核配置(三台)
vim /etc/sysctl.conf
kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
kernel.sem= 250 512000 100 2048
\#SEMMSL SEMMNS SEMOPM SEMMNI
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.default.rp_filter = 1
net.ipv4.conf.default.arp_filter = 1
net.ipv4.conf.all.arp_filter = 1
net.ipv4.ip_local_port_range = 1025 65535
net.core.netdev_max_backlog = 10000
vm.overcommit_memory = 2
执行命令 sysctl -p 使修改数值生效
7、修改限制配置(三台)
在limits.conf文件末尾增加如下配置参数
vi /etc/security/limits.conf
\* soft nofile 65536
\* hard nofile 65536
\* soft nproc 131072
\* hard nproc 131072
8、安装Greenplum
Ø Master 节点解压,安装
注:使用root用户操作
greenplum数据库压缩文件放到master服务器上,文件路径为/data/soft,首先解压文件
unzip greenplum-db-4.3.9.0-build-1-RHEL5-x86_64.zip
安装:
sh ./ greenplum-db-4.3.9.0-build-1-RHEL5-x86_64.bin
协议内容比较长,敲回车到下方,接受 yes 即可。
接受默认安装路径/usr/local/greenplum-db-4.3.9.0
另有信息,接受输入 yes 即可
安装完毕后,发现自动创建软链接greenplum-db,指向 greenplum-db-4.3.9.0
ln -s ./greenplum-db-4.3.9.0 ./greenplum-db
修改文件所属用户
chown -R gpadmin:gpadmin ./greenplum-db
chown -R gpadmin:gpadmin ./greenplum-db-4.3.9.0
9、 创建 master 节点配置文件
注**:使用gpadmin用户操作**
Ø 创建各节点的主机名文件
vi /home/gpadmin/all_host_file添加以下内容:
dbcenter-gpm1
dbcenter-gpseg1
dbcenter-gpseg2
Ø 创建数据节点的主机名文件
vi /home/gpadmin/all_segs添加以下内容:
dbcenter-gpseg1
dbcenter-gpseg2
10、设置 master **节点gpadmin用户环境变量(三个节点)**
注**:使用gpadmin用户操作**
Ø 修改.bash_profile增加环境变量,在末尾加入greenplum工具路径
vi .bash_profile
插入:
source /usr/local/greenplum-db-4.3.9.0/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/data/greenplum/master/gpseg-1
执行命令:
source ~/.bash_proflie
11、为root及gpamdim****用户设置各个节点的 SSH****互信连接
注**:使用root用户操作**
Ø 为root用户创建互信
导入gp工具的路径
source /usr/local/greenplum-db-4.3.9.0/greenplum_path.sh
执行gpssh-exkeys创建互信
gpssh-exkeys -f /home/gpadmin/all_host_file
注**:使用gpadmin用户操作**
Ø 为gpadmin用户创建互信
执行gpssh-exkeys创建互信
gpssh-exkeys -f /home/gpadmin/all_host_file
注:如果出现permission denied(publickey.gssapi-with-mic.password)错误。
然后重启sshd服务:service sshd restart,如果仍未解决的话可以采用ssh-keygen命令手工创建互信。
Ø 测试各个节点是否畅通
注**:使用root和gpadmin用户操作**
gpssh -f /home/gpadmin/all_host_file
没有任何提示,如下图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pwNA1fA4-1675686173883)(file:///C:\Users\86183\AppData\Local\Temp\ksohtml21064\wps5.jpg)]
12、修改****配置文件
Ø 复制数据库初始化配置文件
注**:使用gpadmin用户操作**
将/usr/local/greenplum-db-4.3.9.0/docs/cli_help/gpconfigs/gpinitsystem_config复制到/home/gpadmin下
cp /usr/local/greenplum-db-4.3.9.0/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin
赋权限
chmod 775 gpinitsystem_config
Ø 编辑gpinitsystem_config
注**:使用gpadmin用户操作**
根据实际情况修改其配置信息各项。
修改一下内容:
#segment一共配置几个实例及路径,例:每个数据节点四个数据实例
declare -a DATA_DIRECTORY=(/data/seg_data/primary /data/seg_data/primary /data/seg_data/primary /data/seg_data/primary)
\#MASTER主机名
MASTER_HOSTNAME= dbcenter-gpm1
\#MASTER端数据存储路径
MASTER_DIRECTORY=/data/greenplum/master
\#
CHECK_POINT_SEGMENTS=32
\#镜像端口
MIRROR_PORT_BASE=50000
\#数据库名
DATABASE_NAME=gpadmin
\#节点主机名
MACHINE_LIST_FILE=/home/gpadmin/all_segs
如果需要建立镜像文件,还需要修改:
\#mirror数据文件
declare -a MIRROR_DATA_DIRECTORY=(/data/seg_data/mirror /data/seg_data/mirror /data/seg_data/mirror /data/seg_data/mirror)
MIRROR_PORT_BASE=50000
REPLICATION_PORT_BASE=41000
MIRROR_REPLICATION_PORT_BASE=51000
13、初始化数据库及问题处理
注**:使用gpadmin用户操作**
Ø 初始化数据库
gpinitsystem -c /home/gpadmin/gpinitsystem_config
注:如果安装失败,先查看安装日志,查看失败原因,解决后,执行系统提示的命令删除安装文件后再重新安装。
例:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QzLMGCY0-1675686173886)(file:///C:\Users\86183\AppData\Local\Temp\ksohtml21064\wps6.jpg)]
解决方法:
echo "RemoveIPC=no" >> /etc/systemd/logind.conf
/bin/systemctl restart systemd-logind.service
错误:Found indication of postmaster process on port 5432 on Master host Script Exiting
rm -f /tmp/.s.PGSQL.5432
rm -f /tmp/.s.PGSQL.5432.lock
Ø 测试连接
注**:使用****gpadmin用户操作**
psql -d gpadmin
14、启停
启动和停止数据库测试是否能正常启动和关闭,命令如下:
gpstart -a
gpstop -a
15、远程连接
create role usertest password 'test123' createdb login; //创建用户并授予登录和创建数据库的权限
\# alter role gpadmin with password ‘123456’;
\# select rolname,oid from pg_roles; //查看用户信息
\# vi pg_hba.conf //添加以下内容 (/greenplum/data/master/gpseg-1)
host all gpadmin 192.168.156.145/32 trust
\# gpstop -u //重新加载后才能使之生效,不需要重启数据库