GP5.25.0安装手册
-
下载
https://network.pivotal.io/products/pivotal-gpdb/#/releases/580728
注意:下载安装包之前,需要在官网注册账号,方可下载。
-
虚拟机
所有节点使用Linux版本的均是Oracle Linux 7.7
主节点:192.168.136.101 mdw
主节点镜像:192.168.136.104 smdw
Seg1节点:192.168.136.102 sdw1
Seg2节点:192.168.136.103 sdw2
-
系统设置(所有节点)
关闭防火墙及selinux
停止防火墙:# systemctl stop firewalld.service
禁止防火墙:# systemctl disable firewalld.service
关闭selinux:# vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
网络配置
修改/etc/sysconfig/network-scripts/ifconfig-eth* 来修该 ip、子网掩码、dns等等
修改各个节点 /etc/hostname 主机名为mdw、sdw1、sdw1、sdw2
修改 /etc/hosts:
192.168.136.101 mdw
192.168.136.102 sdw1
192.168.136.103 sdw2
192.168.136.104 smdw
重启网络:# service network restart
用主机名来测试各主机是否能ping通
修改或添加 /etc/sysctl.conf,然后执行sysctl -p生效。
kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
kernel.sem = 500 1024000 200 4096
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 = 10000 65535
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.overcommit_memory = 2
配置 /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
设置磁盘访问IO调度策略
查看IO调度策略:
# cat /sys/block/sda/queue/scheduler
修改IO调度策略:( /sys/block/ 目录下如果存在其他磁盘,gpcheck之后需要修改,则切换root用户修改)
#echo deadline > /sys/block/sda/queue/scheduler
设置预读块的值为16384
查看系统上的硬盘:
# fdisk -l
查看预读块值:
# /sbin/blockdev --getra /dev/sda
设置预读块值,将设置命令添加到 /etc/rc.d/rc.local 文件中:
/sbin/blockdev --setra 16384 /dev/sda
/sbin/blockdev --setra 16384 /dev/sda1
/sbin/blockdev --setra 16384 /dev/sda2
/sbin/blockdev --setra 16384 /dev/sda3
# chmod +x /etc/rc.d/rc.local
# systemctl enable rc-local
# reboot
-
在Master节点安装DB
# cd /root
# unzip /root/greenplum-db-5.25.0-rhel7-x86_64.zip
# /bin/bash /root/greenplum-db-5.25.0-rhel7-x86_64.bin
……
//默认安装在 /usr/local/ 目录下
//获取环境参数
# source /usr/local/greenplum-db/greenplum_path.sh
创建主机文件vi /usr/local/greenplum-db/all_hosts
文件内容:
mdw
smdw
sdw1
sdw2
创建主机文件vi /usr/local/greenplum-db/seg_hosts
文件内容:
sdw1
sdw2
运行gpseginstall工具
# /usr/local/greenplum-db/bin/gpseginstall -f /usr/local/greenplum-db/all_hosts -u gpadmin -p gpadmin
建立互信
# /usr/local/greenplum-db/bin/gpssh-exkeys -f /usr/local/greenplum-db/all_hosts
-
在所有主机上初始化配置GP
检查是否安装完成
# su - gpadmin
$ source /usr/local/greenplum-db/greenplum_path.sh
$ /usr/local/greenplum-db/bin/gpssh -f /usr/local/greenplum-db/all_hosts -e ls -l $GPHOME
创建存储区域
mdw、smdw创建master数据存储区域
$ su - root
# source /usr/local/greenplum-db/greenplum_path.sh
# mkdir -p /data/master
# chown gpadmin:gpadmin /data/master
在所有seg主机上创建数据目录和镜像目录(需要配置镜像则创建镜像目录,否则不需要创建镜像)
# cd /usr/local/greenplum-db/bin/
# ./gpssh -f /usr/local/greenplum-db/seg_hosts -e 'mkdir -p /data/primary'
# ./gpssh -f /usr/local/greenplum-db/seg_hosts -e 'mkdir -p /data/mirror'
# ./gpssh -f /usr/local/greenplum-db/seg_hosts -e 'chown gpadmin:gpadmin /data/primary'
# ./gpssh -f /usr/local/greenplum-db/seg_hosts -e 'chown gpadmin:gpadmin /data/mirror'
-
同步系统时间
在Standby主机上编辑 /etc/ntp.conf
server mdw prefer
在Segment主机上编辑 /etc/ntp.conf(有则执行)
server mdw prefer
server smdw
在Master主机上,通过ntp守护进程同步系统时钟
# cd /usr/local/greenplum-db/bin/
# ./gpssh -f /usr/local/greenplum-db/all_hosts -v -e 'sudo ntpd'
# ./gpssh -f /usr/local/greenplum-db/all_hosts -v -e 'sudo /etc/init.d/ntpd start && sudo chkconfig --level 35 ntpd on'
验证操作系统设置
# /usr/local/greenplum-db/bin/gpcheck -f /usr/local/greenplum-db/all_hosts -m mdw
初始化GP数据库系统
# su – gpadmin
$ source /usr/local/greenplum-db/greenplum_path.sh
从模版中拷贝一份gpinitsystem_config文件
$ cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/gpinitsystem_config
$ chmod 755 /home/gpadmin/gpinitsystem_config
设置所有必须参数 REQUIRED PARAMETERS
ARRAY_NAME="Greenplum Data Platform"
SEG_PREFIX=gpseg
PORT_BASE=40000 //主段端口号的基本数
declare -a DATA_DIRECTORY=(/data/primary) //主段数据目录的文件系统位置
MASTER_HOSTNAME=mdw //操作系统配置的主机名或IP地址的主机
MASTER_DIRECTORY=/data/master //主数据目录的文件系统位置
MASTER_PORT=5432 //主实例的端口号
TRUSTED_SHELL=ssh //用于连接到远程主机的ssh
CHECK_POINT_SEGMENTS=8 //预写日志文件(WAL)数量,默认为8,这意味着为主机上的每个Segment或Master实例分配1088MB的WAL空间。
ENCODING=UNICODE //默认的服务器端字符集编码
设置镜像可选参数 OPTIONAL MIRROR PARAMETERS
MIRROR_PORT_BASE=50000 //镜像段端口号的基本数
REPLICATION_PORT_BASE=41000 //主文件复制端口号的基本编号
MIRROR_REPLICATION_PORT_BASE=51000 //镜像文件复制端口号的基数
declare -a MIRROR_DATA_DIRECTORY=(/data/mirror) //镜像mirror节点的地址
设置其他可选参数 OTHER OPTIONAL PARAMETERS
DATABASE_NAME=dwdb //初始化后创建这个名称的数据库
MACHINE_LIST_FILE=/usr/local/greenplum-db/seg_hosts //仅包含segment主机地址
初始化数据库
$ cd /usr/local/greenplum-db/bin/
$ gpinitsystem -c /home/gpadmin/gpinitsystem_config -h /usr/local/greenplum-db/seg_hosts
master镜像初始化(若设置了镜像才进行镜像初始化)
$ gpinitstandby -s smdw
设置gpadmin用户环境变量,master,standby都设置。
$ vim ~/.bashrc
添加:
source /usr/local/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/data/master/gpseg-1 //启停数据库的路径
-
启动关闭
启动和停止数据库测试是否能正常启动和关闭,命令如下
$ gpstart
$ gpstop
$ psql -d postgres