centOS7 greenplum6.171.2 gp数据库下载
下载适合自己的就行了
https://github.com/greenplum-db/gpdb/releases
这是我下的
ps : 系统配置三台服务器都需要对应的修改!!!!
2.1.1 关闭SELINUX (如果装过cdh可以跳过,装CDH的时候都调整过了的)改成disabled
service iptables stop chkconfig iptables off2.1.3 配置映射(如果装过cdh可以跳过,装CDH的时候都调整过了的)
vim /etc/hosts
我这边准备将 risen-cdh01作为master
risen-cdh[02-03] 作为segment
vim /etc/sysctl.conf
添加以下内容,都是官网的
kernel.shmall = 4000000000 kernel.shmmax = 500000000 kernel.shmmni = 4096 vm.overcommit_memory = 2 vm.overcommit_ratio = 95 net.ipv4.ip_local_port_range = 10000 65535 kernel.sem = 500 2048000 200 40960 kernel.sysrq = 1 kernel.core_uses_pid = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.msgmni = 2048 net.ipv4.tcp_syncookies = 1 net.ipv4.conf.default.accept_source_route = 0 net.ipv4.tcp_max_syn_backlog = 4096 net.ipv4.conf.all.arp_filter = 1 net.core.netdev_max_backlog = 10000 net.core.rmem_max = 2097152 net.core.wmem_max = 2097152 vm.swappiness = 10 vm.zone_reclaim_mode = 0 vm.dirty_expire_centisecs = 500 vm.dirty_writeback_centisecs = 100 vm.dirty_background_ratio = 0 vm.dirty_ratio = 0 vm.dirty_background_bytes = 1610612736 vm.dirty_bytes = 4294967296
执行生效
sysctl -p2.1.5 资源限制参数
/etc/security/limits.conf
添加以下配置(*号也是,代表全部)
* soft nofile 524288 * hard nofile 524288 * soft nproc 131072 * hard nproc 1310722.1.6 修改/etc/systemd/logind.conf
直接执行以下命令
echo "RemoveIPC=no" >> /etc/systemd/logind.conf service systemd-logind restart2.2 添加greenplum专属用户
三台服务器都要配
2.2.1 在每台服务器创建gpadmin 用户及用户组并赋权groupadd -g 530 gpadmin useradd -g 530 -u 530 -m -d /home/gpadmin -s /bin/bash gpadmin chown -R gpadmin:gpadmin /home/gpadmin/2.2.2 配置密码
passwd gpadmin
我密码就是 gpadmin。少于八位数要数据两次
2.3 gpadmin角色的 公钥配对 2.3.1 在三台服务器都切换成 gpadmin角色su - gpadmin2.3.2 三台服务器分别生成秘钥
ssh-keygen -t rsa2.3.3 三台服务器的公钥都给一台机器
三台服务器都执行以下命令,host填一样的
这里我写的我自己的,你用的时候记得改一下
ssh-copy-id risen-cdh012.3.4 检查一下上边所填host是否有所有的公钥了
切到 上述host 窗口,执行以下命令
cat /home/gpadmin/.ssh/authorized_keys2.3.5 把秘钥给每台服务器都传一下,这样就能相互访问 不需要密码了
cd /home/gpadmin/.ssh/ scp authorized_keys risen-cdh02:$PWD (输入一次gpadmin账户的密码) scp authorized_keys risen-cdh03:$PWD (输入一次gpadmin账户的密码)2.3.6 检查秘钥是否配好了
例如 在risen-cdh01服务器上切换成 gpadmin账户,然后执行
ssh risen-cdh02
看是否切换成功。
几台服务器都相互试试。
前期准备做好了,后边安装就简单了
3.1 将之前下载好的rpm包给其他几台服务器都传一下scp open-source-greenplum-db-6.17.7-rhel7-x86_64.rpm risen-cdh02:$PWD scp open-source-greenplum-db-6.17.7-rhel7-x86_64.rpm risen-cdh02:$PWD3.2 三台服务器都执行一下安装命令
要在root用户下执行
rpm -ivh open-source-greenplum-db-6.17.7-rhel7-x86_64.rpm3.3 修改安装结果目录的权限
安装完在/usr/local 目录下
chown -R gpadmin:gpadmin /usr/local/greenplum*3.4 修改gp的配置
三台机器都修改一下
vim /usr/local/greenplum-db/greenplum_path.sh
增加一个GPHOME , 不配可能会出问题
切换到 gpadmin用户
su - gpadmin
找到文件
vim /home/gpadmin/.bash_profile
增加以下配置
source /usr/local/greenplum-db/greenplum_path.sh export MASTER_DATA_DIRECTORY=/home/gpadmin/data/master/gpseg-1 export PGPORT=5432 export PGUSER=gpadmin
生效一下
source /home/gpadmin/.bash_profile3.6 创建一些要用到的目录 3.6.1 master要创建的
mkdir /home/gpadmin/conf mkdir -p /home/gpadmin/data/master mkdir /home/gpadmin/gpconfigs3.6.2 segment
mkdir -p /home/gpadmin/data/primary mkdir -p /home/gpadmin/data/mirror3.7 配置配置hostfile_gpinitsystem
vim /home/gpadmin/conf/hostfile_gpinitsystem
这个就是senment的列表
只需要在master节点配置即可
cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/gpconfigs/gpinitsystem_config vim /home/gpadmin/gpconfigs/gpinitsystem_config
直接覆盖掉,需要注意的是在注释前边要有#,配置信息不能有,在复制的时候要注意点
#数据库代号 ARRAY_NAME="Greenplum" #segment前缀 SEG_PREFIX=gpseg #primary segment 起始的端口号 PORT_base=33000 #指定primary segment的数据目录,网上写的是多个相同目录,多个目录表示一台机器有多个segment declare -a DATA_DIRECTORY=(/home/gpadmin/data/primary) #master所在机器的host name MASTER_HOSTNAME=mdw #master的数据目录 MASTER_DIRECTORY=/home/gpadmin/data/master #master的端口 MASTER_PORT=5432 #指定bash的版本 TRUSTED_SHELL=/usr/bin/ssh #将日志写入磁盘的间隔,每个段文件通常 =16MB < 2 * CHECK_POINT_SEGMENTS + 1 CHECK_POINT_SEGMENTS=8 #字符集 ENCODING=UNICODE #mirror segment 起始的端口号 MIRROR_PORT_base=44000 # mirror的数据目录,和主数据一样,一个对一个,多个对多个 declare -a MIRROR_DATA_DIRECTORY=(/home/gpadmin/data/mirror)3.9 正式安装
切换到 gpadmin 用户
cd /home/gpadmin gpinitsystem -c gpconfigs/gpinitsystem_config -h conf/hostfile_gpinitsystem
如果严格安装我上边的步骤,应该是不会有太大问题的。如果有问题可以参考下边的解决方案。
解决方法:
lsof -i:5432
然后kill掉这些任务并执行几个删除命令
kill -9 上述PID rm -rf /tmp/.s.PGSQL.5432.lock rm -rf /tmp/.s.PGSQL.5432
这个问题就完美解决了 或者在失败之后
3.10.2 Start Function UPDATE_GPConFIG psql: FATAL: no pg_hba.conf entry for host “[local]”, user “testDB”, database “template1”, SSL offFailed to complete obtain psql count Master gp_segment_co
nfiguration script Exiting!
有不少人遇到过这个问题,是因为参考别人的安装配置有问题,修改一下环境变量即可
可以参考我上边的步骤3.5,PGUSER这里写创建的gpadmin用户。别写成testDB,误导一片人。。。
vim /home/gpadmin/.bash_profile4 配置GP外部链接 4.1 进入命令行模式
psql -d postgres4.2 设置gpadmin账户的密码
alter role gpadmin with password 'gpadmin';4.3 修改配置文件 pg_hba.conf
vim /home/gpadmin/data/master/gpseg-1/pg_hba.conf
增加一行
host all all 192.168.251.0/24 trust
重载一下
pg_ctl reload -D /home/gpadmin/data/master/gpseg-14.4 使用dbeaver访问 END



