1. 程式人生 > >greenplum安裝部署

greenplum安裝部署

環境:centos7.5  64位作業系統

[[email protected] ~]$ cat /etc/redhat-release

CentOS Linux release 7.5.1804 (Core)

[[email protected] ~]$ uname -a

Linux mdw 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

安裝前準備

(1)關閉selinux

sudo sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config

(2)關閉防火牆及防火牆相關操作

firewall-cmd -stat    //檢視防火牆狀態,狀態為running或not running

Systemctl stop firewalld.service       //關閉防火牆

systemctl disable firewalld.service    //禁止firewall開機啟動

systemctl enable firewalld.service     //允許firewall開機啟動

systemctl disable firewalld.service    //禁止firewall開機啟動

systemctl enable firewalld.service     //允許firewall開機啟動

(3)修改完後重啟

(4)開啟防火牆預留greenplum資料庫埠

firewall-cmd --zone=public --permanent --add-port=5432/tcp

(5)過載伺服器

firewall-cmd –reload

(6)檢測埠是否開啟

firewall-cmd --query-port=5432/tcp        //開啟為yes,否則為firewalld is not running

(7)進行共享記憶體與網路引數的配置

sudo vim /etc/sysctl.conf在開啟的檔案中新增如下資訊

net.ipv4.ip_forward = 0

net.ipv4.conf.default.accept_source_route = 0

kernel.sysrq = 1

kernel.core_uses_pid = 1

net.ipv4.tcp_syncookies = 1

kernel.msgmnb = 65536

kernel.msgmax = 65536

kernel.sem = 250 64000 100 512

kernel.shmmax = 500000000

kernel.shmmni = 4096

kernel.shmall = 4000000000

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_max_syn_backlog = 4096

net.core.netdev_max_backlog= 10000

vm.overcommit_memory = 2

net.ipv4.conf.all.arp_filter = 1

(8)在/etc/security/limits.conf中新增限制引數

* soft nofile 65536    //可開啟的檔案描述符最大數(軟限制)

* hard nofile 65536    //可開啟的檔案描述符最大數(硬限制)

* soft nproc 131072    //單個使用者可用的最大程序數量(軟限制)

* hard nproc 131072    //單個使用者可用的最大程序數量(硬限制)

(9)重啟系統使得配置生效

sysctl -p

(10)安裝greenplum

方法一:原始碼安裝(原始碼安裝的過程中需要不斷的安裝相應依賴包)

git clone https://github.com/greenplum-db/gpdb

make

make check

make install

方法二:軟體包安裝

在官方下載相應的安裝軟體包https://network.pivotal.io/解壓安裝到具體的路徑中,安裝完成後如下圖所示:

 

單機模式配置

在當前伺服器上面配置一個master一個segment一個segmentmirror

(1)配置host解析

vim /etc/hosts    //新增以下內容

IP mdw sdw        //IP為當前伺服器的IP,本伺服器使用的位192.168.2.147

(2)建立greenplum資料的管理賬戶和使用者組gpadmin

groupadd gpadmin

useradd -g gpadmin gpadmin

passwd gpadmin    //設定使用者密碼

(3)修改greenplum安裝目錄的使用者和使用者組

chown -R gpadmin /usr/local/Greenplum-db-5.11.0

chgrp -R gpadmin /usr/local/Greenplum-db-5.11.0

(4)切換到gpadmin賬戶,並在家目錄下面建立master和segment的資料存放目錄

mkdir -p /home/gpadmin/masterdata

mkdir -p /home/gpadmin/segmentdata

mkdir -p /home/gpadmin/segmentmirror

(5)建立包含所有主機名的檔案

vim /home/gpadmin/all_host    //在檔案中新增以下內容

mdw

sdw

(6)建立包含segment主機名的檔案

vim /home/gpadmin/seg_host    //在檔案中新增以下內容

sdw

(7)將主機名修改為mdw

先執行:hostnamectl set-hostname "mdw" 

在執行:hostname mdw

在/etc/sysconfig/network中新增mdw

(8)將MASTER_DATA_DIRECTORY加入到Master主機環境,修改gpadmin的.bashrc檔案

if [ -f /etc/bashrc ]; then    //防止家目錄的消失

        . /etc/bashrc

fi

export MASTER_DATA_DIRECTORY=/home/gpadmin/masterdata/gpseg-1

source /usr/local/greenplum-db-5.11.0/greenplum_path.sh

(9)將機器中的Python庫全部複製到greenplum資料庫的lib庫目錄下,這樣做的原因是防止在執行gp相關的命令時出現各種各樣的儲存資訊

\cp -R -f /usr/lib64/python2.7/site-packages/ /usr/local/greenplum-db-5.11.0/lib/python

(10)編輯greenplum初始化配置檔案

ARRAY_NAME="EMC Greenplum DW"

SEG_PREFIX=gpseg

PORT_BASE=33000

declare -a DATA_DIRECTORY=(/home/gpadmin/segmentdata)

MASTER_HOSTNAME=mdw

MASTER_DIRECTORY=/home/gpadmin/masterdata

MASTER_PORT=5432

MACHINE_LIST_FILE=/home/gpadmin/seg_hosts

TRUSTED_SHELL=ssh

CHECK_POINT_SEGMENTS=8

ENCODING=UNICODE

MIRROR_PORT_BASE=43000

REPLICATION_PORT_BASE=34000

MIRROR_REPLICATION_PORT_BASE=44000

declare -a MIRROR_DATA_DIRECTORY=(/home/gpadmin/segmentmirror)

(11)建立免密登入,免去登入密碼的麻煩,執行命令出現報錯時,返回到(8)檢查配置的路徑

gpssh-exkeys -f /home/gpadmin/all_hosts

(12)初始化資料庫(會出現很多各種錯誤)

gpinitsystem -c /home/gpadmin/gpinitsystem_config

(13)執行完成功後會有兩個成功提示,然後在執行gpstop看是否成功

叢集擴充套件

將當前伺服器修改為一個master三個segment

(1)配置host解析

vim /etc/hosts    //新增以下內容

IP mdw sdw1 sdw2 sdw3        //IP為當前伺服器的IP,本伺服器使用的位192.168.2.147

(2)建立greenplum資料的管理賬戶和使用者組gpadmin(如果使用者已存在則不需要)

groupadd gpadmin

useradd -g gpadmin gpadmin

passwd gpadmin    //設定使用者密碼

(3)修改greenplum安裝目錄的使用者和使用者組(許可權存在時不需要)

chown -R gpadmin /usr/local/Greenplum-db-5.11.0

chgrp -R gpadmin /usr/local/Greenplum-db-5.11.0

(4)切換到gpadmin賬戶,並在家目錄下面建立master和segment的資料存放目錄

mkdir -p /home/gpadmin/masterdata

mkdir -p /home/gpadmin/segmentdata1

mkdir -p /home/gpadmin/segmentdata2

mkdir -p /home/gpadmin/segmentdata3

(5)建立包含所有主機名的檔案

vim /home/gpadmin/all_host    //在檔案中新增以下內容

mdw

sdw1

sdw2

sdw3

(6)建立包含segment主機名的檔案

vim /home/gpadmin/seg_host    //在檔案中新增以下內容

sdw1

sdw2

sdw3

(7)將主機名修改為mdw(若已經修改過則這步不在需要)

先執行:hostnamectl set-hostname "mdw" 

在執行:hostname mdw

在/etc/sysconfig/network中新增mdw

(8)將MASTER_DATA_DIRECTORY加入到Master主機環境,修改gpadmin的.bashrc檔案(若已經修改過則這步不在需要)

if [ -f /etc/bashrc ]; then    //防止家目錄的消失

        . /etc/bashrc

fi

export MASTER_DATA_DIRECTORY=/home/gpadmin/masterdata/gpseg-1

source /usr/local/greenplum-db-5.11.0/greenplum_path.sh

(9)將機器中的Python庫全部複製到greenplum資料庫的lib庫目錄下,這樣做的原因是防止在執行gp相關的命令時出現各種各樣的儲存資訊(若已經複製過則這步不在需要)

\cp -R -f /usr/lib64/python2.7/site-packages/ /usr/local/greenplum-db-5.11.0/lib/python

(10)編輯greenplum初始化配置檔案

ARRAY_NAME="EMC Greenplum DW"

SEG_PREFIX=gpseg

PORT_BASE=33000

declare -a DATA_DIRECTORY=(/home/gpadmin/segmentdata1 /home/gpadmin/segmentdata2 /home/gpadmin/segmentdata2)        //多個segment直接進行拼接

MASTER_HOSTNAME=mdw

MASTER_DIRECTORY=/home/gpadmin/masterdata

MASTER_PORT=5432

MACHINE_LIST_FILE=/home/gpadmin/seg_hosts

TRUSTED_SHELL=ssh

CHECK_POINT_SEGMENTS=8

ENCODING=UNICODE

(11)建立免密登入,免去登入密碼的麻煩,執行命令出現報錯時,返回到(8)檢查配置的路徑,如果已經配置過則需要將原來配置的資訊刪除重新生成新的配置資訊

gpssh-exkeys -f /home/gpadmin/all_hosts

(12)初始化資料庫(會出現很多各種錯誤)

gpinitsystem -c /home/gpadmin/gpinitsystem_config

(13)執行完成功後會有兩個成功提示,然後在執行gpstop看是否成功