【GP】Greenplum安装
配置系统信息做安装Greenplum的准备工作
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文件(所有的机器都要修改)
[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这个文件如下(所有机器都要修改):
[root@mdw ~]# cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=dw-greeplum-1
3.创建用户和用户组(所有机器都要创建)
[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 passwordfor user gpadmin. New password: BAD PASSWORD: itis too simplistic/systematic BAD PASSWORD:is too simple Retypenew password: passwd: all authentication tokens updated successfully.
4.修改系统内核(所有机器,可以参考书上216页)
除此之外 [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
好了现在准备工作已经做好了,可以开始安装Greenplum了
二.安装Greenplum
1.创建安装文件目录(每台机器)
[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系统中自己能找到的位置即可,给该文件赋予执行权限,之后执行该文件,即开始安装
[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
期间需要修改默认安装目录,输入/opt/greenplum/greenplum-db-4.8.3.1
之后即可安装成功,此时master上的Greenplum安装成功了。但是之前我们都是以root身份安装的,所以要将安装目录下的文件的所有者都修改为gpadmin
[root@mdw ~]# chown -R gpadmin:gpadmin /opt/greenplum
因为只在master上安装了Greenplum,所以下面要将安装包批量发送到每个segment上,才能算是整个Greenplum集群完整安装了Greenplum。下面的操作都是为了连接所有节点,并将安装包发送到每个节点。
4.创建配置文件
[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
注意此时需要转换成gpadmin身份来操作了,按照上面的文件内容创建hostlist和seg_hosts文件,备用。
5.打通所有节点
greenplum_path.sh中保存了运行Greenplum的一些环境变量设置,包括GPHOOME、PYTHONHOME等设置
[gpadmin@mdw ~]$ source /opt/greenplum/greenplum-db/greenplum_path.sh
[gpadmin@mdw~]$ gpssh-exkeys -f /opt/greenplum/greenplum-db/conf/hostlist
[STEP1 of 5] create local ID and authorize on local host
.../home/gpadmin/.ssh/id_rsa file exists ... key generation skipped
[STEP2 of 5] keyscan all hosts and update known_hosts file
[STEP3 of 5] authorize current user on remote hosts
... send to sdw1
... send to sdw2
... send to sdw3
[STEP4 of 5] determine common authentication file content
[STEP5 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
这就说明成功打通了,之后就可以使用下面的命令开启批量操作,如下:
注意gpssh-exkeys命令使用的时候一定要用gpadmin身份,因为这个命令会生成ssh的免密码登录的秘钥,在/home/gpadmin/.ssh这里。如果使用root身份使用gpssh-exkeys命令,那么生成的.ssh秘钥在root的home下面或者是在/home/gpadmin下面但是是root的所有者,如果之后使用gpadmin身份执行相应操作的时候就没有权限。
[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
这里pwd命令是linux中的查看路径命令,这里也是查看一下批量操作时所处的位置,从中可以看到同时连接到了4个节点。这里如果/etc/hosts文件中参数只设置了两个,没有设置主机名,就只能同时连接2个节点,而且是随机的。发生这个错误当时也是找了好长时间。
这里我们只是测试一下,exit之后先做一些其他的操作。
6.将安装包分发到每个子节点
打通之后需要将master中的greenplum安装包批量复制到各个segment节点上。
[gpadmin@mdw conf]$ cd /opt/greenplum/
打包: [gpadmin@mdw greenplum]$ tar -cf gp.4.3.tar greenplum-db-4.3.8.1/ 然后利用gpscp命令将这个文件复制到每一台机器上:
[gpadmin@mdw greenplum]$ gpscp -f /home/gpadmin/conf/hostlist gp.4.3.tar =:/opt/greenplum/
ok,如果没有意外,就批量复制成功了,可以去子节点的相应文件夹查看,之后要将tar包解压,我们使用批量操作
[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查看一下是否已经安装成功)
这样就完成了所有节点的安装。
4.初始化数据库
在初始化之前的的几个步骤都是做一些准备工作。
1.批量创建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
2.配置.bash_profile环境变量(每台机器)
[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(让环境变量生效)
我自己是觉得这个环境变量使用source有时候不能生效,所以需要重启机器。
这里有个问题,Greenplum自己会安装一个Python包,是2.6.6的,具体是干什么用的忘了,之后再补充。而CentOS6.5本身自带有个一Python包,是2.6.2的,设置了以上的环境变量了之后,使用yum安装一些软件的时候就会出现问题(因为yum是基于Python的),因为系统就发现自己有两个Python包,他不知道用哪一个了。我还没有试过更新系统的Python包,需要安装软件的时候,我就将环境变量都注释掉,安装完之后再让他生效。
3.初始化配置文件
[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
4.初始化数据库
[gpadmin@mdw ~]$ gpinitsystem -c /opt/greenplum/greenplum-db/conf/initgp_config -s dw-greeplum-3 #####初始化的时候并制定第三台机器为standby数据库
或者
[gpadmin@mdw ~]$ gpinitsystem -c initgp_config -h seg_hosts ###先初始化所有,再指定第三台机器为standby
[gpadmin@mdw ~]$ gpinitstandby -sdw-greeplum-3
其中sdw3是指master的standby所在的节点,我看书上和网上的一些资料都将standby放在最后一个节点,可能是约定俗成的吧。
如果上面有一些配置有问题,gpinitsystem就不能成功,日志在主节点/home/gpadmin/gpAdminLogs/的gpinitsystem_2016XXXX.log文件中。
需要注意的是如果初始化失败,一定要认真查看这个日志文件,一味重复安装没有太大意义,重要的是要找到主要原因。我在/etc/sysctl.conf文件中粘贴的时候出现了一些错误,所以一直找不到原因,最后联系到Greenplum官方社区,很感谢给与我帮助的人!
问题:
1.我使用虚拟机(使用桥接模式)配置的时候,出现过“sdw1文件不能复制到sdw2”,在stackoverflow中看到有人说要设置DNS,我设置DNS之后果真可以gpinitsystem成功了!但是一直不太明白为什么要设置DNS,因为确实不需要DNS解析什么啊。。
2.我在使用虚拟机时,为了省力,先安装一个CentOS,这个CentOS会在硬盘上有一个安装包,将这个安装包拷贝之后,发现拷贝安装包的CentOS中网卡名与源安装包的网卡名不一样,没有使用eth0,使用了eth2或者Auto-eth2。
心得:
1.安装过程中遇到很多很多问题,很多事关于linux网络的问题,不过还好,了解之后就好解决了
2.gpinitsystem失败的原因有很多,一定要认真去看日志,日志会告诉我们错误的原因,一次一次的尝试并不能解决问题。
参考:[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
好了现在准备工作已经做好了,可以开始安装Greenplum了
二.安装Greenplum
1.创建安装文件目录(每台机器)
[root@mdw ~]# mkdir /opt/greenplum [root@mdw ~]# chown -R gpadmin:gpadmin /opt/greenplum
之后安装文件就放在这个目录下面
2.下载安装包
3.master上安装Greenplum(只需master即可)
将下载的文件放在CenOS系统中自己能找到的位置即可,给该文件赋予执行权限,之后执行该文件,即开始安装
[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
期间需要修改默认安装目录,输入/opt/greenplum/greenplum-db-4.8.3.1
之后即可安装成功,此时master上的Greenplum安装成功了。但是之前我们都是以root身份安装的,所以要将安装目录下的文件的所有者都修改为gpadmin
[root@mdw ~]# chown -R gpadmin:gpadmin /opt/greenplum
因为只在master上安装了Greenplum,所以下面要将安装包批量发送到每个segment上,才能算是整个Greenplum集群完整安装了Greenplum。下面的操作都是为了连接所有节点,并将安装包发送到每个节点。
4.创建配置文件
[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
注意此时需要转换成gpadmin身份来操作了,按照上面的文件内容创建hostlist和seg_hosts文件,备用。
5.打通所有节点
greenplum_path.sh中保存了运行Greenplum的一些环境变量设置,包括GPHOOME、PYTHONHOME等设置
[gpadmin@mdw ~]$ source /opt/greenplum/greenplum-db/greenplum_path.sh [gpadmin@mdw~]$ gpssh-exkeys -f /opt/greenplum/greenplum-db/conf/hostlist
[STEP1 of 5] create local ID and authorize on local host .../home/gpadmin/.ssh/id_rsa file exists ... key generation skipped [STEP2 of 5] keyscan all hosts and update known_hosts file [STEP3 of 5] authorize current user on remote hosts ... send to sdw1 ... send to sdw2 ... send to sdw3 [STEP4 of 5] determine common authentication file content [STEP5 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
这就说明成功打通了,之后就可以使用下面的命令开启批量操作,如下:
注意gpssh-exkeys命令使用的时候一定要用gpadmin身份,因为这个命令会生成ssh的免密码登录的秘钥,在/home/gpadmin/.ssh这里。如果使用root身份使用gpssh-exkeys命令,那么生成的.ssh秘钥在root的home下面或者是在/home/gpadmin下面但是是root的所有者,如果之后使用gpadmin身份执行相应操作的时候就没有权限。
[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
这里pwd命令是linux中的查看路径命令,这里也是查看一下批量操作时所处的位置,从中可以看到同时连接到了4个节点。这里如果/etc/hosts文件中参数只设置了两个,没有设置主机名,就只能同时连接2个节点,而且是随机的。发生这个错误当时也是找了好长时间。
这里我们只是测试一下,exit之后先做一些其他的操作。
6.将安装包分发到每个子节点
打通之后需要将master中的greenplum安装包批量复制到各个segment节点上。
[gpadmin@mdw conf]$ cd /opt/greenplum/ 打包: [gpadmin@mdw greenplum]$ tar -cf gp.4.3.tar greenplum-db-4.3.8.1/ 然后利用gpscp命令将这个文件复制到每一台机器上: [gpadmin@mdw greenplum]$ gpscp -f /home/gpadmin/conf/hostlist gp.4.3.tar =:/opt/greenplum/
ok,如果没有意外,就批量复制成功了,可以去子节点的相应文件夹查看,之后要将tar包解压,我们使用批量操作
[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查看一下是否已经安装成功)
这样就完成了所有节点的安装。
4.初始化数据库
在初始化之前的的几个步骤都是做一些准备工作。
1.批量创建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
2.配置.bash_profile环境变量(每台机器)
[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(让环境变量生效)
我自己是觉得这个环境变量使用source有时候不能生效,所以需要重启机器。
这里有个问题,Greenplum自己会安装一个Python包,是2.6.6的,具体是干什么用的忘了,之后再补充。而CentOS6.5本身自带有个一Python包,是2.6.2的,设置了以上的环境变量了之后,使用yum安装一些软件的时候就会出现问题(因为yum是基于Python的),因为系统就发现自己有两个Python包,他不知道用哪一个了。我还没有试过更新系统的Python包,需要安装软件的时候,我就将环境变量都注释掉,安装完之后再让他生效。
3.初始化配置文件
[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
4.初始化数据库
[gpadmin@mdw ~]$ gpinitsystem -c /opt/greenplum/greenplum-db/conf/initgp_config -s dw-greeplum-3 #####初始化的时候并制定第三台机器为standby数据库
或者
[gpadmin@mdw ~]$ gpinitsystem -c initgp_config -h seg_hosts ###先初始化所有,再指定第三台机器为standby
[gpadmin@mdw ~]$ gpinitstandby -sdw-greeplum-3
其中sdw3是指master的standby所在的节点,我看书上和网上的一些资料都将standby放在最后一个节点,可能是约定俗成的吧。
如果上面有一些配置有问题,gpinitsystem就不能成功,日志在主节点/home/gpadmin/gpAdminLogs/的gpinitsystem_2016XXXX.log文件中。
需要注意的是如果初始化失败,一定要认真查看这个日志文件,一味重复安装没有太大意义,重要的是要找到主要原因。我在/etc/sysctl.conf文件中粘贴的时候出现了一些错误,所以一直找不到原因,最后联系到Greenplum官方社区,很感谢给与我帮助的人!
问题:
1.我使用虚拟机(使用桥接模式)配置的时候,出现过“sdw1文件不能复制到sdw2”,在stackoverflow中看到有人说要设置DNS,我设置DNS之后果真可以gpinitsystem成功了!但是一直不太明白为什么要设置DNS,因为确实不需要DNS解析什么啊。。
2.我在使用虚拟机时,为了省力,先安装一个CentOS,这个CentOS会在硬盘上有一个安装包,将这个安装包拷贝之后,发现拷贝安装包的CentOS中网卡名与源安装包的网卡名不一样,没有使用eth0,使用了eth2或者Auto-eth2。
心得:
1.安装过程中遇到很多很多问题,很多事关于linux网络的问题,不过还好,了解之后就好解决了
2.gpinitsystem失败的原因有很多,一定要认真去看日志,日志会告诉我们错误的原因,一次一次的尝试并不能解决问题。
http://www.cnblogs.com/renlipeng/p/5685432.html --推荐和书上写的步骤一样,非常仔细
http://www.cnblogs.com/liuyungao/p/5689588.html --其他一些操作
分享文章:【GP】Greenplum安装
文章地址:http://azwzsj.com/article/jjdhce.html