规划:1个msater, 2个segments
环境:ubuntu 16.04
Greenplum Version: 'postgres (Greenplum Database) 5.3.0 build 2155c5a-oss
1、安装
sudo add-apt-repository ppa:greenplum/db
sudo apt-get update
sudo apt-get install greenplum-db-oss
2. 配置/etc/hosts
Edit the /etc/hosts file and make sure that it includes the host names and all interface address names for every machine participating in your Greenplum Database system.
3、关闭防火墙
service iptables stop
4、修改/etc/sysctl.conf,添加
kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
kernel.sem = 250 512000 100 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.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_forward=0
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
5、配置 /etc/security/limits.conf,添加
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
6. 设置预读块大小
/sbin/blockdev --setra 16384 /dev/sda
7、重启系统
8、安装greenplum
http://greenplum.org/install-greenplum-oss-on-ubuntu/
https://launchpad.net/~greenplum/+archive/ubuntu/db
Installation into /opt/gpdb
---------------------------
sudo apt-get install -y software-properties-common
sudo add-apt-repository ppa:greenplum/db
sudo apt-get update
sudo apt-get install -y greenplum-db-oss
9、初始化环境变量
$ su root
$ source /opt/gpdb/greenplum_path.sh
10、创建主机文件 all_hosts
$ vi all_hosts
ifreBigData1
ifreBigData2
ifreBigData4
11、运行gpseginstall工具
$ gpseginstall -f all_hosts -u gpadmin-p gpadmin
有可能免密失败
20171215:08:55:57:054683 gpseginstall:ifreBigData1:root-[INFO]:-exchange ssh keys for user root
20171215:08:55:57:054683 gpseginstall:ifreBigData1:root-[INFO]:-Cmd 'gpssh-exkeys -f all_hosts' failed with error code 1
20171215:08:55:57:054683 gpseginstall:ifreBigData1:root-[INFO]:-gppsh-exkeys failed running from within pexpect ... now try outside of pexpect
Problem getting hostname for ifreBigData1: [Errno 0] Resolver Error 0 (no error)
Traceback (most recent call last):
File "/opt/gpdb/bin/gpssh-exkeys", line 534, in <module>
(primary, aliases, ipaddrs) = socket.gethostbyaddr(hostname)
socket.herror: [Errno 0] Resolver Error 0 (no error)
20171215:08:55:58:054683 gpseginstall:ifreBigData1:root-[ERROR]:-error on cmd: gpssh-exkeys -f all_hosts
解决方法
$su gpadmin
$source /opt/gpdb/greenplum_path.sh
$gpssh-exkeys -f all_hosts
12.验证安装及免密登录
$ gpssh -f all_hosts -e ls $GPHOME
13. 将source /opt/gpdb/greenplum_path.sh添加到.bashrc文件最后(所有的节点都要做)
14、创建存储区域
a) 创建Master数据存储区域
mkdir -p /data/master
b)改变目录所有权
chown gpadmin /data/master
c)创建包含所有segment主机的文件seg_hosts
d)root用户用gpssh 工具在segment主机上创建主数据和镜像数据目录
$ su root
$ source /opt/gpdb/greenplum_path.sh
$ gpssh-exkeys -f all_hosts
gpssh -f seg_hosts -e 'mkdir -p /data/primary'
gpssh -f seg_hosts -e 'mkdir -p /data/mirror'
gpssh -f seg_hosts -e ‘chown gpadmin /data/primary'
gpssh -f seg_hosts -e ‘chown gpadmin /data/mirror'
15、同步系统时间
在各个机器安装 ntp
a.gpssh -f all_hosts -e 'apt install -y ntp'
b.修改/etc/ntp.conf添加
server masterhostname
c.gpssh -f /data/all_hosts -e 'ntpd'
16、验证操作系统设置
#gpcheck -f /data/all_hosts -m ifreBigData1
17、初始化GP数据库系统
#su - gpadmin
$ cp /opt/gpdb/docs/cli_help/gpconfigs/gpinitsystem_config ~/gpinitsystem_config
$ chmod 775 gpinitsystem_config
$ vi gpinitsystem_config
ARRAY_NAME="Greenplum Data Platform"
SEG_PREFIX=ifreseg
PORT_BASE=40000
declare -a DATA_DIRECTORY=(/data/primary)
MASTER_HOSTNAME=ifreBigData1
MASTER_DIRECTORY=/data/master
MASTER_PORT=5432
#### OPTIONAL MIRROR PARAMETERS
MIRROR_PORT_BASE=50000
REPLICATION_PORT_BASE=41000
MIRROR_REPLICATION_PORT_BASE=51000
declare -a MIRROR_DATA_DIRECTORY=(/data/mirror)
a)运行初始化工具
$ cp /data/seg_hosts ~
$ gpinitsystem -c gpinitsystem_config -h seg_hosts
检查结果
b)设置环境变量
添加
export MASTER_DATA_DIRECTORY=/data/master/ifreseg-1
到master 的~/.bashrc
在segment机器上做同样的操作
18、启动停止数据库
$ gpstart
$gpstop
验证
$ psql -d template1