1、Greenplum 43 For CentOS 65 安装指南Greenplum 4.3 For CentOS 6.5 安装指南1.greenplum数据库安装前期准备工作1.1 安装Linux 内存:最小1GB,推荐2GB或以上。 交换空间: 内存大小是1-2GB时,交换空间是内存的1.5倍,内存大小2-16GB时,交换空间等于内存大小,内存大小16G以上时,交换空间为16GB。 需要选择以下组件:GNOME桌面、编辑器、开发工具、开发库等,具体参照Linux标准文档。 使用安装光盘安装CentOS-6.5-x86_64-bin Greenplum数据库版本 4.3.9.11.2 配置系统信
2、息,做安装Greenplum的准备工作1.2.1 Greenplum集群介绍这里使用1个master,3个segment的集群,ip为:196.168.0.56196.168.0.57196.168.0.58196.168.0.59其中196.168.0.56为master,其余为segment。1.2.2 修改/etc/hosts文件(所有的机器都要修改)这里主要是为之后Greenplum能够在各个节点之间相互通信做准备,添加如下:格式为:主机ip地址主机名rootmdw # vi /etc/hosts192.168.0.56mdw192.168.0.57 sdw1192.168.0.58
3、sdw2192.168.0.59 sdw3注意:一定要按照这个格式写,参数代表的含义,上面已经做出说明。配置了这个文件之后,需要继续修改hostname,即修改/etc/sysconfig/network这个文件。如下(所有机器都要修改):rootmdw # vi /etc/sysconfig/networkNETWORKING=yesHOSTNAME=mdw注意:这里修改hostname,需要重启之后方可生效,如需立即生效,需使用hostname命令。rootmdw # hostnamemdw这里的HOSTNAME一定要与/etc/hosts中的主机名一致,最终可以使用ping命令测试是否配
4、置好了:rootmdw # ping sdw1PING 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.14ms64 bytes from sdw1 (192.168.0.57): icmp_seq=2 ttl=64 time=0.726ms64 bytes from sdw1 (192.168.0.57): icmp_seq=3 ttl=64 time=0.714ms- sdw1ping statistics -3 packets tran
5、smitted, 3 received, 0% packet loss, time 2279msrtt min/avg/max/mdev = 0.714/0.862/1.148/0.204msrootmdw # ping sdw2PING 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.940ms- sdw2ping statistics -1 packets transmitted, 1 received, 0% packet loss,
6、time 971msrtt min/avg/max/mdev = 0.940/0.940/0.940/0.000msrootmdw # ping sdw3PING 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.62ms64 bytes from sdw3 (192.168.0.59): icmp_seq=2 ttl=64 time=0.669ms- sdw3ping statistics -2 packets transmitted, 2
7、received, 0% packet loss, time 1146msrtt min/avg/max/mdev = 0.669/1.148/1.627/0.479 ms一定要使用主机名来测试,使用ip地址测试无效。注意:修改了/etc/sysconfig/network 后,可以将/home/gpadmin/.gphostcache删除掉,因为如果在修改network文件之前执行过gpssh-exkeys,可能会在gphostcache文件中生成主机名和hostlist配置中的名字形成对应关系,而greenplum之后不会再修改这个文件。1.2.3 创建用户和用户组(所有机器都要创建)ro
8、otmdw # groupadd -g 530gpadminrootmdw # useradd -g 530 -u530 -m -d /home/gpadmin -s /bin/bash gpadminrootmdw # passwdgpadminChanging password for user gpadmin.New password:Retype new password:passwd: all authentication tokens updated successfully.1.2.4 修改系统内核(所有的机器都要修改)rootmdw # vi /etc/sysctl.confk
9、ernel.shmmax = 500000000kernel.shmmni = 4096kernel.shmall = 4000000000kernel.sem = 250 512000 100 2048kernel.sysrq = 1kernel.core_uses_pid = 1kernel.msgmnb = 65536kernel.msgmax = 65536kernel.msgmni = 2048net.ipv4.tcp_syncookies = 1net.ipv4.ip_forward = 0net.ipv4.conf.default.accept_source_route = 0n
10、et.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_max_syn_backlog = 4096net.ipv4.conf.all.arp_filter = 1net.ipv4.ip_local_port_range = 1025 65535dev_max_backlog = 10000net.core.rmem_max = 2097152net.core.wmem_max = 2097152vm.overcommit_memory = 2执行以下命令使参数生效:rootdw-greenplum-1# sysctl -p注意:每台机器都要修改,不然就会初始化不成功。1
11、.2.5 修改文件打开限制(每台机器都要修):rootmdw # vi /etc/security/limits.conf# End of file* softnofile65536* hardnofile 65536* softnproc 131072* hardnproc 131072在这个文件末尾,添加上面四行就可以了。1.2.6 关闭防火墙(每台机器都要)rootmdw # serviceiptables stop(或者开放5432端口,该端口之后会用到)rootmdw # /sbin/iptables -I INPUT -p tcp -dport80 -j ACCEPTrootmdw
12、 # /etc/rc.d/init.d/iptablessave除此之外,还需关闭SELINUXrootmdwselinux# vi /etc/selinux/config# Thisfile 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.# d
13、isabled - 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了。2 安装Greenplum2.1 创建安装文件目录(每台机器都需要创建)rootmdw # mkdir /opt/gree
14、nplumrootmdw # chown -R gpadmin:gpadmin /opt/greenplum之后安装文件,就放在这个目录下面2.2 下载安装包官网 https:/network.pivotal.io/products/pivotal-gpdb注意:下载安装包之前,需要在官网注册账号,方可下载。(1)选择最新发布版本(2)选择最后一个4.3.9.1 Database Server(3)选择第二个Greenplum Database 4.3.9.1 forRed HatEnterprise Linux 5,6 and 72.3 master上安装Greenplum(只需master
15、即可)上传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系统中自己能找到的位置即可,给该文件赋予可执行权限,之后执行该文件,即开始安装# 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期间需要修改默认安
16、装目录,输入 /opt/greenplum/greenplum-db-4.3.9.1之后即可安装成功,此时master上的Greenplum安装成功了。但是之前我们都是以root身份安装的,所以要将安装目录下的文件的所有者,都修改为gpadmin。rootmdw # chown -R gpadmin:gpadmin /opt/greenplum因为只在master上安装了Greenplum,所以接下来要将安装包批量发送到每个segment上,才能算是整个集群完整安装了Greenplum。下面的操作都是为了连接所有节点,并将安装包发送到每个节点。2.4 创建配置文件rootmdw # su gp
17、admingpadminmdw $ mkdirconfgpadminmdw $ cdconfgpadminmdwconf$ vihostlistmdwsdw1sdw2sdw3gpadminmdwconf$ viseg_hostssdw1sdw2sdw3注意:此时需要转换成gpadmin身份来操作了,按照上面的文件内容创建hostlist和seg_hosts文件备用。hostlist存储了所有节点的主机名,seg_hosts存储了所有从节点的主机名。这里文件中的mdw、sdw1、sdw2、sdw3即为之前在 /etc/hosts文件中配置的最后一个参数。2.5 打通所有节点greenplum_p
18、ath.sh中保存了运行Greenplum的一些环境变量设置,包括GPHOOME、PYTHONHOME等设置。gpadminmdw $ source /opt/greenplum/greenplum-db/greenplum_path.shgpadminmdw $ gpssh-exkeys -f /home/gpadmin/conf/hostlistSTEP 1 of 5 create local ID and authorize on local host . /home/gpadmin/.ssh/id_rsa file exists . key generation skippedSTEP
19、 2 of 5 keyscan all hosts and update known_hostsfileSTEP 3 of 5 authorize current user on remote hosts . send to sdw1 . send to sdw2 . send to sdw3STEP 4 of 5 determine common authentication file contentSTEP 5 of 5 copy authentication files to all remote hosts . finished key exchange with sdw1 . fin
20、ished key exchange with sdw2 . finished key exchange with sdw3INFO completed successfully注意:(1)首次执行gpssh-exkeys命令时,在STEP 3 of 5,要输入每个segment节点的gpadmin用户的密码。(2)gpssh-exkeys命令使用的时候一定要用gpadmin身份,因为这个命令会生成ssh的免密码登录的秘钥,在/home/gpadmin/.ssh这里。如果以root身份使用gpssh-exkeys命令,那么生成的.ssh秘钥在root的home下面或者是在/home/gpadm
21、in下面但是是root的所有者,如果之后使用gpadmin身份执行相应操作的时候就没有权限。INFO completed successfully 这就说明成功打通了,之后就可以使用下面的命令开启批量操作,如下:gpadminmdw $ gpssh -f /home/gpadmin/conf/hostlistNote: command history unsupported on this machine .=pwdsdw1 /home/gpadminsdw3 /home/gpadminsdw2 /home/gpadmin mdw /home/gpadmin=exit这里pwd命令是linux
22、中的查看路径命令,这里也是查看一下批量操作时所处的位置,从中可以看到同时连接到了4个节点。这里如果/etc/hosts文件中参数只设置了两个,没有设置主机名,就只能同时连接2个节点,而且是随机的。这里我们只是测试一下,exit之后先做一些其他的操作。2.6 将安装包分发到每个子节点打通之后需要将master中的greenplum安装包批量复制到各个segment节点上。gpadminmdwconf$ cd /opt/greenplum/打包:gpadminmdwgreenplum$ tar -cf gp.4.3.tar greenplum-db-4.3.9.1/然后利用gpscp命令将这个文件
23、复制到每一台机器上:gpadminmdwgreenplum$ gpscp -f /home/gpadmin/conf/seg_hosts gp.4.3.tar =:/opt/greenplum/如果没有意外,就批量复制成功了,可以去子节点的相应文件夹查看,之后要将tar包解压,我们使用批量操作。gpadminmdwgreenplum$ cd /conf/gpadminmdwconf$ gpssh -f seg_hostsNote: command history unsupported on this machine .=cd /opt/greenplumsdw3sdw1sdw2=tar -x
24、f gp.4.3.tarsdw3sdw1sdw2建立软链接=ln -s ./greenplum-db-4.3.9.1 greenplum-dbsdw3sdw1sdw2=ll(可以使用ll查看一下是否已经安装成功)=exit这样就完成了所有节点的安装。3 初始化数据库在初始化之前的的几个步骤都是做一些准备工作。3.1 批量创建Greenplum数据存放目录gpadminmdwconf$ gpssh -f hostlist=mkdirgpdatasdw3mdwsdw2sdw1=cdgpdatasdw3mdwsdw2sdw1=mkdirgpmaster gpdatap1 gpdatap2 gpdat
25、am1 gpdatam2sdw3mdwsdw2sdw1=ll=exit3.2 配置.bash_profile环境变量(每台机器都要)编辑.bash_profile文件,添加以下内容:gpadminmdw $ cd gpadminmdw $ vi .bash_profilesource /opt/greenplum/greenplum-db/greenplum_path.shexport MASTER_DATA_DIRECTORY=/home/gpadmin/gpdata/gpmaster/gpseg-1export PGPORT=5432export PGDATABASE=testDBgpad
26、minmdw $ source .bash_profile(让环境变量生效)注意:PGPORT指的是你安装greenplum数据库的端口号。这里有个问题,Greenplum自己会安装一个Python包,是2.6.6的。而CentOS6.5本身自带有一个Python包,是2.6.2的,设置了以上的环境变量了之后,使用yum安装一些软件的时候就会出现问题(因为yum是基于Python的),因为系统就发现自己有两个Python包,他不知道用哪一个了。我还没有试过更新系统的Python包,需要安装软件的时候,我就将环境变量都注释掉,安装完之后再让他生效。3.3 创建初始化配置文件(只需master即可
27、)gpadminmdw $ vi /home/gpadmin/conf/gpinitsystem_configARRAY_NAME=GreenplumSEG_PREFIX=gpsegPORT_BASE=33000declare -a DATA_DIRECTORY=(/home/gpadmin/gpdata/gpdatap1 /home/gpadmin/gpdata/gpdatap2)MASTER_HOSTNAME=mdwMASTER_DIRECTORY=/home/gpadmin/gpdata/gpmasterMASTER_PORT=5432TRUSTED_SHELL=/usr/bin/ssh
28、MIRROR_PORT_BASE=43000REPLICATION_PORT_BASE=34000MIRROR_REPLICATION_PORT_BASE=44000declare -a MIRROR_DATA_DIRECTORY=(/home/gpadmin/gpdata/gpdatam1 /home/gpadmin/gpdata/gpdatam2)MACHINE_LIST_FILE=/home/gpadmin/conf/seg_hosts3.4 初始化数据库(只需master即可)gpadminmdw $ gpinitsystem -c /home/gpadmin/conf/gpinits
29、ystem_config -s sdw3其中sdw3是指master的standby所在的节点,我看书上和网上的一些资料都将standby放在最后一个节点,可能是约定俗成的吧。注意:如果上面有一些配置有问题,gpinitsystem就不能成功,日志在主节点/home/gpadmin/gpAdminLogs/的gpinitsystem_2016XXXX.log文件中。需要注意的是如果初始化失败,一定要认真查看这个日志文件,一味重复安装没有太大意义,重要的是要找到主要原因。4 测试运行安装的Greenplum数据库4.1 启动和停止数据库测试是否能正常启动和关闭# gpstart# gpstop4
30、.2 访问数据库# psql -d postgrespsql (8.2.15)Type help for help.postgres=#出现以上界面,恭喜你已经安装成功了。输入查询语句,查看是否可以执行。postgres=# selectdatname,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=
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1