新聞中心
1.greenplum數(shù)據(jù)庫(kù)安裝前期準(zhǔn)備工作
1.1 安裝linux
- 內(nèi)存:最小1GB,推薦2GB或以上。
- 交換空間: 內(nèi)存大小是1-2GB時(shí),交換空間是內(nèi)存的1.5倍,內(nèi)存大小2-16GB時(shí),交換空間等于內(nèi)存大小,內(nèi)存大小16G以上時(shí),交換空間為16GB。
- 需要選擇以下組件:GNOME桌面、編輯器、開(kāi)發(fā)工具、開(kāi)發(fā)庫(kù)等,具體參照Linux標(biāo)準(zhǔn)文檔。
- 使用安裝光盤安裝centos-6.5-x86_64-bin
- Greenplum 數(shù)據(jù)庫(kù)版本 4.3.9.1
1.2 配置系統(tǒng)信息,做安裝Greenplum的準(zhǔn)備工作
1.2.1 Greenplum集群介紹
這里使用1個(gè)master,3個(gè)segment的集群,ip為:

成都創(chuàng)新互聯(lián)公司是一家專業(yè)從事網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)的品牌網(wǎng)絡(luò)公司。如今是成都地區(qū)具影響力的網(wǎng)站設(shè)計(jì)公司,作為專業(yè)的成都網(wǎng)站建設(shè)公司,成都創(chuàng)新互聯(lián)公司依托強(qiáng)大的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營(yíng)經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計(jì)開(kāi)發(fā)服務(wù)!
196.168.0.56 196.168.0.57 196.168.0.58 196.168.0.59
其中196.168.0.56為master,其余為segment。
1.2.2 修改/etc/hosts文件(所有的機(jī)器都要修改)
這里主要是為之后Greenplum能夠在各個(gè)節(jié)點(diǎn)之間相互通信做準(zhǔn)備,添加如下:
格式為:主機(jī)ip地址 主機(jī)名
[root@mdw ~]# vi /etc/hosts 192.168.0.56 mdw 192.168.0.57 sdw1 192.168.0.58 sdw2 192.168.0.59 sdw3
注意:一定要按照這個(gè)格式寫,參數(shù)代表的含義,上面已經(jīng)做出說(shuō)明。
配置了這個(gè)文件之后,需要繼續(xù)修改hostname,即修改/etc/sysconfig/network這個(gè)文件。
如下(所有機(jī)器都要修改):
[root@mdw ~]# vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=mdw
注意:這里修改hostname,需要重啟之后方可生效,如需立即生效,需使用hostname命令。
[root@mdw ~]# hostname mdw
這里的HOSTNAME一定要與/etc/hosts中的主機(jī)名一致,最終可以使用ping命令測(cè)試是否配置好了:
[root@mdw ~]# ping sdw1 PING sdw1 (192.168.0.57) 56(84) bytes of data. 64 bytes from sdw1 (192.168.0.57): icmp_seq=1 ttl=64 time=1.14 ms 64 bytes from sdw1 (192.168.0.57): icmp_seq=2 ttl=64 time=0.726 ms 64 bytes from sdw1 (192.168.0.57): icmp_seq=3 ttl=64 time=0.714 ms --- sdw1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2279ms rtt min/avg/max/mdev = 0.714/0.862/1.148/0.204 ms
[root@mdw ~]# ping sdw2 PING sdw2 (192.168.0.58) 56(84) bytes of data. 64 bytes from sdw2 (192.168.0.58): icmp_seq=1 ttl=64 time=0.940 ms --- sdw2 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 971ms rtt min/avg/max/mdev = 0.940/0.940/0.940/0.000 ms [root@mdw ~]# ping sdw3 PING sdw3 (192.168.0.59) 56(84) bytes of data. 64 bytes from sdw3 (192.168.0.59): icmp_seq=1 ttl=64 time=1.62 ms 64 bytes from sdw3 (192.168.0.59): icmp_seq=2 ttl=64 time=0.669 ms --- sdw3 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1146ms rtt min/avg/max/mdev = 0.669/1.148/1.627/0.479 ms
一定要使用主機(jī)名來(lái)測(cè)試,使用ip地址測(cè)試無(wú)效。
注意:修改了/etc/sysconfig/network 后,可以將/home/gpadmin/.gphostcache 刪除掉,因?yàn)槿绻谛薷膎etwork文件之前執(zhí)行過(guò)gpssh-exkeys,可能會(huì)在gphostcache文件中生成主機(jī)名和hostlist配置中的名字形成對(duì)應(yīng)關(guān)系,而greenplum之后不會(huì)再修改這個(gè)文件。
1.2.3 創(chuàng)建用戶和用戶組(所有機(jī)器都要?jiǎng)?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: Retype new password: passwd: all authentication tokens updated successfully.
1.2.4 修改系統(tǒng)內(nèi)核(所有的機(jī)器都要修改)
[root@mdw ~]# vi /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.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 = 1025 65535 net.core.netdev_max_backlog = 10000 net.core.rmem_max = 2097152 net.core.wmem_max = 2097152 vm.overcommit_memory = 2
執(zhí)行以下命令使參數(shù)生效:
[root@dw-greenplum-1~]# sysctl -p
注意:每臺(tái)機(jī)器都要修改,不然就會(huì)初始化不成功。
1.2.5 修改文件打開(kāi)限制(每臺(tái)機(jī)器都要修改):
[root@mdw ~]# vi /etc/security/limits.conf # End of file * soft nofile 65536 * hard nofile 65536 * soft nproc 131072 * hard nproc 131072
在這個(gè)文件末尾,添加上面四行就可以了。
1.2.6 關(guān)閉防火墻(每臺(tái)機(jī)器都要)
[root@mdw ~]# service iptables stop (或者開(kāi)放5432端口,該端口之后會(huì)用到) [root@mdw ~]# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT [root@mdw ~]# /etc/rc.d/init.d/iptables save
除此之外,還需關(guān)閉SELINUX
[root@mdw 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
好了現(xiàn)在準(zhǔn)備工作已經(jīng)做好了,可以開(kāi)始安裝Greenplum了。
2 安裝Greenplum
2.1 創(chuàng)建安裝文件目錄(每臺(tái)機(jī)器都需要?jiǎng)?chuàng)建)
[root@mdw ~]# mkdir /opt/greenplum [root@mdw ~]# chown -R gpadmin:gpadmin /opt/greenplum
之后安裝文件,就放在這個(gè)目錄下面
2.2 下載安裝包
官網(wǎng) https://network.pivotal.io/products/pivotal-gpdb
注意:下載安裝包之前,需要在官網(wǎng)注冊(cè)賬號(hào),方可下載。
(1)選擇最新發(fā)布版本
(2)選擇最后一個(gè) 4.3.9.1 Database Server
(3)選擇第二個(gè) Greenplum Database 4.3.9.1 for Red Hat Enterprise Linux 5,6 and 7
2.3 master上安裝Greenplum(只需master即可)
上傳Greenplum的安裝文件greenplum-db-4.3.9.1-build-1-RHEL5-x86_64.zip并解壓縮。
# unzip ./greenplum-db-4.3.9.1-build-1-RHEL5-x86_64.zip
在root用戶下,將下載的文件放在CentOS系統(tǒng)中自己能找到的位置即可,給該文件賦予可執(zhí)行權(quán)限,之后執(zhí)行該文件,即開(kāi)始安裝
# chmod +x greenplum-db-4.3.9.1-build-1-RHEL5-x86_64.bin # ./greenplum-db-4.3.9.1-build-1-RHEL5-x86_64.bin
期間需要修改默認(rèn)安裝目錄,輸入 /opt/greenplum/greenplum-db-4.3.9.1之后即可安裝成功,此時(shí)master上的Greenplum安裝成功了。
但是之前我們都是以root身份安裝的,所以要將安裝目錄下的文件的所有者,都修改為gpadmin。
[root@mdw ~]# chown -R gpadmin:gpadmin /opt/greenplum
因?yàn)橹辉趍aster上安裝了Greenplum,所以接下來(lái)要將安裝包批量發(fā)送到每個(gè)segment上,才能算是整個(gè)集群完整安裝了Greenplum。
下面的操作都是為了連接所有節(jié)點(diǎn),并將安裝包發(fā)送到每個(gè)節(jié)點(diǎn)。
2.4 創(chuàng)建配置文件
[root@mdw ~]# su – gpadmin [gpadmin@mdw ~]$ mkdir conf [gpadmin@mdw ~]$ cd conf [gpadmin@mdw conf]$ vi hostlist mdw sdw1 sdw2 sdw3 [gpadmin@mdw conf]$ vi seg_hosts sdw1 sdw2 sdw3
注意:此時(shí)需要轉(zhuǎn)換成gpadmin身份來(lái)操作了,按照上面的文件內(nèi)容創(chuàng)建hostlist和seg_hosts文件備用。
hostlist存儲(chǔ)了所有節(jié)點(diǎn)的主機(jī)名,seg_hosts存儲(chǔ)了所有從節(jié)點(diǎn)的主機(jī)名。
這里文件中的mdw、sdw1、sdw2、sdw3即為之前在 /etc/hosts文件中配置的最后一個(gè)參數(shù)。
2.5 打通所有節(jié)點(diǎn)
greenplum_path.sh中保存了運(yùn)行Greenplum的一些環(huán)境變量設(shè)置,包括GPHOOME、PythonHOME等設(shè)置。
[gpadmin@mdw ~]$ source /opt/greenplum/greenplum-db/greenplum_path.sh [gpadmin@mdw ~]$ gpssh-exkeys -f /home/gpadmin/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
注意:
(1)首次執(zhí)行g(shù)pssh-exkeys命令時(shí),在[STEP 3 of 5],要輸入每個(gè)segment節(jié)點(diǎn)的gpadmin用戶的密碼。
(2)gpssh-exkeys命令使用的時(shí)候一定要用gpadmin身份,因?yàn)檫@個(gè)命令會(huì)生成ssh的免密碼登錄的秘鑰,在/home/gpadmin/.ssh這里。如果以root身份使用gpssh-exkeys命令,那么生成的.ssh秘鑰在root的home下面或者是在/home/gpadmin下面但是是root的所有者,如果之后使用gpadmin身份執(zhí)行相應(yīng)操作的時(shí)候就沒(méi)有權(quán)限。
[INFO] completed successfully 這就說(shuō)明成功打通了,之后就可以使用下面的命令開(kāi)啟批量操作,如下:
[gpadmin@mdw ~]$ gpssh -f /home/gpadmin/conf/hostlist Note: command history unsupported on this machine ... => pwd [sdw1] /home/gpadmin [sdw3] /home/gpadmin [sdw2] /home/gpadmin [ mdw] /home/gpadmin => exit
這里pwd命令是linux中的查看路徑命令,這里也是查看一下批量操作時(shí)所處的位置,從中可以看到同時(shí)連接到了4個(gè)節(jié)點(diǎn)。這里如果/etc/hosts文件中參數(shù)只設(shè)置了兩個(gè),沒(méi)有設(shè)置主機(jī)名,就只能同時(shí)連接2個(gè)節(jié)點(diǎn),而且是隨機(jī)的。
這里我們只是測(cè)試一下,exit之后先做一些其他的操作。
2.6 將安裝包分發(fā)到每個(gè)子節(jié)點(diǎn)
打通之后需要將master中的greenplum安裝包批量復(fù)制到各個(gè)segment節(jié)點(diǎn)上。
[gpadmin@mdw conf]$ cd /opt/greenplum/
打包:
[gpadmin@mdw greenplum]$ tar -cf gp.4.3.tar greenplum-db-4.3.9.1/
然后利用gpscp命令將這個(gè)文件復(fù)制到每一臺(tái)機(jī)器上:
[gpadmin@mdw greenplum]$ gpscp -f /home/gpadmin/conf/seg_hosts gp.4.3.tar =:/opt/greenplum/
如果沒(méi)有意外,就批量復(fù)制成功了,可以去子節(jié)點(diǎn)的相應(yīng)文件夾查看,之后要將tar包解壓,我們使用批量操作。
[gpadmin@mdw greenplum]$ cd ~/conf/ [gpadmin@mdw conf]$ gpssh -f seg_hosts Note: command history unsupported on this machine ... => cd /opt/greenplum [sdw3] [sdw1] [sdw2] => tar -xf gp.4.3.tar [sdw3] [sdw1] [sdw2] 建立軟鏈接 => ln -s ./greenplum-db-4.3.9.1 greenplum-db [sdw3] [sdw1] [sdw2]
=> ll(可以使用ll查看一下是否已經(jīng)安裝成功) => exit
這樣就完成了所有節(jié)點(diǎn)的安裝。
3 初始化數(shù)據(jù)庫(kù)
在初始化之前的的幾個(gè)步驟都是做一些準(zhǔn)備工作。
3.1 批量創(chuàng)建Greenplum數(shù)據(jù)存放目錄
[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 => exit
3.2 配置.bash_profile環(huán)境變量(每臺(tái)機(jī)器都要)
編輯.bash_profile文件,添加以下內(nèi)容:
[gpadmin@mdw ~]$ cd ~ [gpadmin@mdw ~]$ vi .bash_profile source /opt/greenplum/greenplum-db/greenplum_path.sh export MASTER_DATA_DIRECTORY=/home/gpadmin/gpdata/gpmaster/gpseg-1 export PGPORT=5432 export PGDATABASE=testDB [gpadmin@mdw ~]$ source .bash_profile(讓環(huán)境變量生效)
注意:PGPORT指的是你安裝greenplum數(shù)據(jù)庫(kù)的端口號(hào)。
這里有個(gè)問(wèn)題,Greenplum自己會(huì)安裝一個(gè)Python包,是2.6.6的。而CentOS6.5本身自帶有一個(gè)Python包,是2.6.2的,設(shè)置了以上的環(huán)境變量了之后,使用yum安裝一些軟件的時(shí)候就會(huì)出現(xiàn)問(wèn)題(因?yàn)閥um是基于Python的),因?yàn)橄到y(tǒng)就發(fā)現(xiàn)自己有兩個(gè)Python包,他不知道用哪一個(gè)了。我還沒(méi)有試過(guò)更新系統(tǒng)的Python包,需要安裝軟件的時(shí)候,我就將環(huán)境變量都注釋掉,安裝完之后再讓他生效。
3.3 創(chuàng)建初始化配置文件(只需master即可)
[gpadmin@mdw ~]$ vi /home/gpadmin/conf/gpinitsystem_config ARRAY_NAME="Greenplum" SEG_PREFIX=gpseg PORT_BASE=33000 declare -a DATA_DIRECTORY=(/home/gpadmin/gpdata/gpdatap1 /home/gpadmin/gpdata/gpdatap2) MASTER_HOSTNAME=mdw MASTER_DIRECTORY=/home/gpadmin/gpdata/gpmaster MASTER_PORT=5432 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=/home/gpadmin/conf/seg_hosts
3.4 初始化數(shù)據(jù)庫(kù)(只需master即可)
[gpadmin@mdw ~]$ gpinitsystem -c /home/gpadmin/conf/gpinitsystem_config -s sdw3
其中sdw3是指master的standby所在的節(jié)點(diǎn),我看書(shū)上和網(wǎng)上的一些資料都將standby放在最后一個(gè)節(jié)點(diǎn),可能是約定俗成的吧。
注意:如果上面有一些配置有問(wèn)題,gpinitsystem就不能成功,日志在主節(jié)點(diǎn)/home/gpadmin/gpAdminLogs/的gpinitsystem_2016XXXX.log文件中。
需要注意的是如果初始化失敗,一定要認(rèn)真查看這個(gè)日志文件,一味重復(fù)安裝沒(méi)有太大意義,重要的是要找到主要原因。
4 測(cè)試運(yùn)行安裝的Greenplum數(shù)據(jù)庫(kù)
4.1 啟動(dòng)和停止數(shù)據(jù)庫(kù)測(cè)試是否能正常啟動(dòng)和關(guān)閉
# gpstart # gpstop
4.2 訪問(wèn)數(shù)據(jù)庫(kù)
# psql -d postgres psql (8.2.15) Type "help" for help. postgres=#
出現(xiàn)以上界面,恭喜你已經(jīng)安裝成功了。
輸入查詢語(yǔ)句,查看是否可以執(zhí)行。
postgres=# select datname,datdba,encoding,datacl from pg_database; datname | datdba | encoding | datacl -----------+--------+----------+---------------------------------- postgres | 10 | 6 | template1 | 10 | 6 | {=c/gpadmin,gpadmin=CTc/gpadmin} template0 | 10 | 6 | {=c/gpadmin,gpadmin=CTc/gpadmin} (3 rows) postgres=# \q(退出)
5 安裝pgadmin Ⅲ客戶端
安裝pgadmin Ⅲ,使用該客戶端,連接greenplum 4.3數(shù)據(jù)庫(kù)
5.1 用戶創(chuàng)建密碼
postgres =# alter role gpadmin with password 'gpadmin';
5.2 添加新的客戶端服務(wù)器信息
在master節(jié)點(diǎn)的 $MASTER_DATA_DIRECTORY/pg_hba.conf 中添加新的客戶端服務(wù)器信息。master節(jié)點(diǎn)的pg_hba.conf配置文件,控制客戶端訪問(wèn)Greenplum系統(tǒng)。
注意:segment節(jié)點(diǎn)也有pg_hba.conf配置文件,它只能控制master節(jié)點(diǎn)能否訪問(wèn)segment,決不能運(yùn)行客戶端連接。所以不要修改segment的pg_hba.conf文件。
格式:
host database role CIDR-address authentication-method
pg_hba.conf中記錄是被順序讀取的,所有記錄的順序是有象征性意義的。
通常前面的記錄匹配更少的連接但要求較弱的認(rèn)證,后面的記錄匹配更多的連接但要求更嚴(yán)格的認(rèn)證。
例如:允許gpadmin用戶在192.168.0.x網(wǎng)段訪問(wèn)所有數(shù)據(jù)庫(kù),使用md5驗(yàn)證。
# vi $MASTER_DATA_DIRECTORY/pg_hba.conf host all gpadmin 192.168.0.0/24 md5
在master重新加載pg_hba.conf文件,需要重啟Greenplum數(shù)據(jù)庫(kù)。
# gpstop –a # gpstart –a
5.3 驗(yàn)證客戶端能否連接數(shù)據(jù)庫(kù)
# psql -h 192.168.1.171 -p 2345 -d postgres -U gpadmin -W Password for user gpadmin:
-h 192.168.1.171 是指定連接master的ip地址
-p 5432 是安裝greenplum數(shù)據(jù)庫(kù)時(shí),設(shè)置的端口號(hào),當(dāng)前數(shù)據(jù)庫(kù)端口號(hào)是2345
-u gpadmin 是指定連接的用戶名
文章名稱:Greenplum4.3ForCentOS6.5安裝指南
新聞來(lái)源:http://fisionsoft.com.cn/article/cdeidgs.html


咨詢
建站咨詢
