1. 程式人生 > >Install greenplum cluster on ubuntu 16.04

Install greenplum cluster on ubuntu 16.04

greenplum cluster ubuntu


規劃: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


Install greenplum cluster on ubuntu 16.04