溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

【GP】Greenplum安裝

發(fā)布時間:2020-08-07 09:01:15 來源:ITPUB博客 閱讀:206 作者:小亮520cl 欄目:關(guān)系型數(shù)據(jù)庫

配置系統(tǒng)信息做安裝Greenplum的準(zhǔn)備工作

1.Greenplum集群介紹

這里使用1個master,3個segment的集群,ip為

192.168.6.119      master
192.168.6.120      segment
192.168.6.121      segment   standbymaster


2.修改/etc/hosts文件(所有的機(jī)器都要修改)

[gpadmin@dw-greeplum-1 gpseg-1]$ more /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6
192.168.6.119  dw-greeplum-1 mdw
192.168.6.120  dw-greeplum-2 sdw1
192.168.6.121  dw-greeplum-3 sdw2


配置了這個文件之后,一定要同時修改 /etc/sysconfig/network這個文件如下(所有機(jī)器都要修改):

[root@mdw ~]# cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=dw-greeplum-1



3.創(chuàng)建用戶和用戶組(所有機(jī)器都要創(chuàng)建)

[root@mdw ~]# groupadd -g 530 gpadmin
[root@mdw ~]# useradd -g 530 -u530 -m -d /home/gpadmin -s /bin/bash gpadmin
[root@mdw ~]# passwd gpadmin
Changing password for user gpadmin.
New password:
BAD PASSWORD: it is too simplistic/systematic
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.


4.修改系統(tǒng)內(nèi)核(所有機(jī)器,可以參考書上216頁)
除此之外

【GP】Greenplum安裝
[root@mdw selinux]# cat /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 
【GP】Greenplum安裝

好了現(xiàn)在準(zhǔn)備工作已經(jīng)做好了,可以開始安裝Greenplum了


二.安裝Greenplum

1.創(chuàng)建安裝文件目錄(每臺機(jī)器)

[root@mdw ~]# mkdir /opt/greenplum
[root@mdw ~]# chown -R gpadmin:gpadmin /opt/greenplum

之后安裝文件就放在這個目錄下面


2.下載安裝包

http://pan.baidu.com/s/1b60kqi

3.master上安裝Greenplum(只需master即可)

將下載的文件放在CenOS系統(tǒng)中自己能找到的位置即可,給該文件賦予執(zhí)行權(quán)限,之后執(zhí)行該文件,即開始安裝

[root@mdw ~]# chmod +x greenplum-db-4.3.3.1-build-1-RHEL5-x86_64.bin
[root@mdw ~]# ./greenplum-db-4.3.3.1-build-1-RHEL5-x86_64.bin

期間需要修改默認(rèn)安裝目錄,輸入/opt/greenplum/greenplum-db-4.8.3.1

之后即可安裝成功,此時master上的Greenplum安裝成功了。但是之前我們都是以root身份安裝的,所以要將安裝目錄下的文件的所有者都修改為gpadmin

[root@mdw ~]# chown -R gpadmin:gpadmin /opt/greenplum

因為只在master上安裝了Greenplum,所以下面要將安裝包批量發(fā)送到每個segment上,才能算是整個Greenplum集群完整安裝了Greenplum。下面的操作都是為了連接所有節(jié)點,并將安裝包發(fā)送到每個節(jié)點。

4.創(chuàng)建配置文件

【GP】Greenplum安裝
[root@mdw ~]# su gpadmin
[gpadmin@mdw root]$ cd
[gpadmin@dw-greeplum-1 gpseg-1]$ more /opt/greenplum/greenplum-db/conf/hostlist 
dw-greeplum-1
dw-greeplum-2
dw-greeplum-3  

[gpadmin@mdw [gpadmin@dw-greeplum-1 gpseg-1]$ more /opt/greenplum/greenplum-db/conf/seg_hosts 
dw-greeplum-2
dw-greeplum-3 
【GP】Greenplum安裝

注意此時需要轉(zhuǎn)換成gpadmin身份來操作了,按照上面的文件內(nèi)容創(chuàng)建hostlist和seg_hosts文件,備用。


5.打通所有節(jié)點

greenplum_path.sh中保存了運行Greenplum的一些環(huán)境變量設(shè)置,包括GPHOOME、PYTHONHOME等設(shè)置

【GP】Greenplum安裝
[gpadmin@mdw ~]$ source /opt/greenplum/greenplum-db/greenplum_path.sh 
[gpadmin@mdw ~]$ gpssh-exkeys -f /opt/greenplum/greenplum-db/conf/hostlist  

[STEP 1 of 5] create local ID and authorize on local host
  ... /home/gpadmin/.ssh/id_rsa file exists ... key generation skipped

[STEP 2 of 5] keyscan all hosts and update known_hosts file

[STEP 3 of 5] authorize current user on remote hosts
  ... send to sdw1
  ... send to sdw2
  ... send to sdw3

[STEP 4 of 5] determine common authentication file content

[STEP 5 of 5] copy authentication files to all remote hosts
  ... finished key exchange with sdw1
  ... finished key exchange with sdw2
  ... finished key exchange with sdw3

[INFO] completed successfully
【GP】Greenplum安裝

這就說明成功打通了,之后就可以使用下面的命令開啟批量操作,如下:


注意gpssh-exkeys命令使用的時候一定要用gpadmin身份,因為這個命令會生成ssh的免密碼登錄的秘鑰,在/home/gpadmin/.ssh這里。如果使用root身份使用gpssh-exkeys命令,那么生成的.ssh秘鑰在root的home下面或者是在/home/gpadmin下面但是是root的所有者,如果之后使用gpadmin身份執(zhí)行相應(yīng)操作的時候就沒有權(quán)限。

【GP】Greenplum安裝
[gpadmin@mdw ~]$ gpssh -f /opt/greenplum/greenplum-db/conf/hostlist  

Note: command history unsupported on this machine ...
=> pwd
[sdw1] /home/gpadmin
[sdw3] /home/gpadmin
[sdw2] /home/gpadmin
[ mdw] /home/gpadmin
=> exit
【GP】Greenplum安裝

這里pwd命令是linux中的查看路徑命令,這里也是查看一下批量操作時所處的位置,從中可以看到同時連接到了4個節(jié)點。這里如果/etc/hosts文件中參數(shù)只設(shè)置了兩個,沒有設(shè)置主機(jī)名,就只能同時連接2個節(jié)點,而且是隨機(jī)的。發(fā)生這個錯誤當(dāng)時也是找了好長時間。

這里我們只是測試一下,exit之后先做一些其他的操作。

6.將安裝包分發(fā)到每個子節(jié)點

打通之后需要將master中的greenplum安裝包批量復(fù)制到各個segment節(jié)點上。

[gpadmin@mdw conf]$ cd /opt/greenplum/
打包: [gpadmin@mdw greenplum]$ tar -cf gp.4.3.tar greenplum-db-4.3.8.1/ 然后利用gpscp命令將這個文件復(fù)制到每一臺機(jī)器上:
[gpadmin@mdw greenplum]$ gpscp -f /home/gpadmin/conf/hostlist gp.4.3.tar =:/opt/greenplum/

ok,如果沒有意外,就批量復(fù)制成功了,可以去子節(jié)點的相應(yīng)文件夾查看,之后要將tar包解壓,我們使用批量操作

【GP】Greenplum安裝
[gpadmin@mdw conf]$ gpssh -f hostlist => cd /opt/greenplum
[sdw3]
[sdw1]
[sdw2]
[mdw] => tar -xf gp.4.3.tar
[sdw3]
[sdw1]
[sdw2]
[mdw]
 
建立軟鏈接 => ln -s ./greenplum-db-4.3.8.1 greenplum-db
[sdw3]
[sdw1]
[sdw2]
[mdw]
=> ll(可以使用ll查看一下是否已經(jīng)安裝成功)
【GP】Greenplum安裝

這樣就完成了所有節(jié)點的安裝。

4.初始化數(shù)據(jù)庫

在初始化之前的的幾個步驟都是做一些準(zhǔn)備工作。

1.批量創(chuàng)建Greenplum數(shù)據(jù)存放目錄

【GP】Greenplum安裝
[gpadmin@mdw conf]$ gpssh -f hostlist
=> mkdir gpdata
[sdw3]
[ mdw]
[sdw2]
[sdw1]
=> cd gpdata
[sdw3]
[ mdw]
[sdw2]
[sdw1]
=> mkdir gpmaster gpdatap1 gpdatap2 gpdatam1 gpdatam2
[sdw3]
[ mdw]
[sdw2]
[sdw1]
=> ll
[sdw3] 總用量 20 [sdw3] drwxrwxr-x 2 gpadmin gpadmin 4096 7月  18 19:46 gpdatam1
[sdw3] drwxrwxr-x 2 gpadmin gpadmin 4096 7月  18 19:46 gpdatam2
[sdw3] drwxrwxr-x 2 gpadmin gpadmin 4096 7月  18 19:46 gpdatap1
[sdw3] drwxrwxr-x 2 gpadmin gpadmin 4096 7月  18 19:46 gpdatap2
[sdw3] drwxrwxr-x 2 gpadmin gpadmin 4096 7月  18 19:46 gpmaster
[ mdw] 總用量 20 [ mdw] drwxrwxr-x 2 gpadmin gpadmin 4096 7月  18 19:46 gpdatam1
[ mdw] drwxrwxr-x 2 gpadmin gpadmin 4096 7月  18 19:46 gpdatam2
[ mdw] drwxrwxr-x 2 gpadmin gpadmin 4096 7月  18 19:46 gpdatap1
[ mdw] drwxrwxr-x 2 gpadmin gpadmin 4096 7月  18 19:46 gpdatap2
[ mdw] drwxrwxr-x 2 gpadmin gpadmin 4096 7月  18 19:46 gpmaster
[sdw2] 總用量 20 [sdw2] drwxrwxr-x 2 gpadmin gpadmin 4096 7月  18 19:46 gpdatam1
[sdw2] drwxrwxr-x 2 gpadmin gpadmin 4096 7月  18 19:46 gpdatam2
[sdw2] drwxrwxr-x 2 gpadmin gpadmin 4096 7月  18 19:46 gpdatap1
[sdw2] drwxrwxr-x 2 gpadmin gpadmin 4096 7月  18 19:46 gpdatap2
[sdw2] drwxrwxr-x 2 gpadmin gpadmin 4096 7月  18 19:46 gpmaster
[sdw1] 總用量 20 [sdw1] drwxrwxr-x 2 gpadmin gpadmin 4096 7月  18 19:46 gpdatam1
[sdw1] drwxrwxr-x 2 gpadmin gpadmin 4096 7月  18 19:46 gpdatam2
[sdw1] drwxrwxr-x 2 gpadmin gpadmin 4096 7月  18 19:46 gpdatap1
[sdw1] drwxrwxr-x 2 gpadmin gpadmin 4096 7月  18 19:46 gpdatap2
[sdw1] drwxrwxr-x 2 gpadmin gpadmin 4096 7月  18 19:46 gpmaster
=> exit
【GP】Greenplum安裝

2.配置.bash_profile環(huán)境變量(每臺機(jī)器)

【GP】Greenplum安裝
[gpadmin@mdw ~]$ cd
[gpadmin@mdw ~]$ cat .bash_profile 
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

source /opt/greenplum/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/home/gpadmin/gpdata/gpmaster/gpseg-1
export PGPORT=2345
export PGDATABASE=testDB 

[gpadmin@mdw ~]$ source .bash_profile(讓環(huán)境變量生效)

【GP】Greenplum安裝

我自己是覺得這個環(huán)境變量使用source有時候不能生效,所以需要重啟機(jī)器。

這里有個問題,Greenplum自己會安裝一個Python包,是2.6.6的,具體是干什么用的忘了,之后再補充。而CentOS6.5本身自帶有個一Python包,是2.6.2的,設(shè)置了以上的環(huán)境變量了之后,使用yum安裝一些軟件的時候就會出現(xiàn)問題(因為yum是基于Python的),因為系統(tǒng)就發(fā)現(xiàn)自己有兩個Python包,他不知道用哪一個了。我還沒有試過更新系統(tǒng)的Python包,需要安裝軟件的時候,我就將環(huán)境變量都注釋掉,安裝完之后再讓他生效。

3.初始化配置文件

【GP】Greenplum安裝
[gpadmin@dw-greeplum-1 gpseg-1]$ more /opt/greenplum/greenplum-db/conf/initgp_config 
ARRAY_NAME="Greenplum"
SEG_PREFIX=gpseg
PORT_BASE=33000
declare -a DATA_DIRECTORY=(/home/gpadmin/gpdata/gpdatap1  /home/gpadmin/gpdata/gpdatap2)
MASTER_HOSTNAME=dw-greeplum-1
MASTER_DIRECTORY=/home/gpadmin/gpdata/gpmaster 
MASTER_PORT=2345
TRUSTED_SHELL=/usr/bin/ssh
MIRROR_PORT_BASE=43000
REPLICATION_PORT_BASE=34000
MIRROR_REPLICATION_PORT_BASE=44000
declare -a MIRROR_DATA_DIRECTORY=(/home/gpadmin/gpdata/gpdatam1 /home/gpadmin/gpdata/gpdatam2)
MACHINE_LIST_FILE=/opt/greenplum/greenplum-db/conf/seg_hosts

		
【GP】Greenplum安裝

4.初始化數(shù)據(jù)庫

[gpadmin@mdw ~]$ gpinitsystem -c /opt/greenplum/greenplum-db/conf/initgp_config  -s dw-greeplum-3    #####初始化的時候并制定第三臺機(jī)器為standby數(shù)據(jù)庫
或者

[gpadmin@mdw ~]$ gpinitsystem -c initgp_config -h seg_hosts   ###先初始化所有,再指定第三臺機(jī)器為standby


[gpadmin@mdw ~]$ gpinitstandby -s dw-greeplum-3

其中sdw3是指master的standby所在的節(jié)點,我看書上和網(wǎng)上的一些資料都將standby放在最后一個節(jié)點,可能是約定俗成的吧。

如果上面有一些配置有問題,gpinitsystem就不能成功,日志在主節(jié)點/home/gpadmin/gpAdminLogs/的gpinitsystem_2016XXXX.log文件中。

需要注意的是如果初始化失敗,一定要認(rèn)真查看這個日志文件,一味重復(fù)安裝沒有太大意義,重要的是要找到主要原因。我在/etc/sysctl.conf文件中粘貼的時候出現(xiàn)了一些錯誤,所以一直找不到原因,最后聯(lián)系到Greenplum官方社區(qū),很感謝給與我?guī)椭娜耍?/span>


問題:

1.我使用虛擬機(jī)(使用橋接模式)配置的時候,出現(xiàn)過“sdw1文件不能復(fù)制到sdw2”,在stackoverflow中看到有人說要設(shè)置DNS,我設(shè)置DNS之后果真可以gpinitsystem成功了!但是一直不太明白為什么要設(shè)置DNS,因為確實不需要DNS解析什么啊。。

2.我在使用虛擬機(jī)時,為了省力,先安裝一個CentOS,這個CentOS會在硬盤上有一個安裝包,將這個安裝包拷貝之后,發(fā)現(xiàn)拷貝安裝包的CentOS中網(wǎng)卡名與源安裝包的網(wǎng)卡名不一樣,沒有使用eth0,使用了eth2或者Auto-eth2。


心得:

1.安裝過程中遇到很多很多問題,很多事關(guān)于linux網(wǎng)絡(luò)的問題,不過還好,了解之后就好解決了

2.gpinitsystem失敗的原因有很多,一定要認(rèn)真去看日志,日志會告訴我們錯誤的原因,一次一次的嘗試并不能解決問題。



參考:
http://www.cnblogs.com/renlipeng/p/5685432.html  --推薦和書上寫的步驟一樣,非常仔細(xì)
http://www.cnblogs.com/liuyungao/p/5689588.html  --其他一些操作


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI