GREENPLUM安装(总结+注释)2013-05-0512:072592人阅读评论(0)收藏举报分类:greenplum(24)原文:的安装,应该说是极其简单的。大致的过程可以分成四大部分。1、准备硬件2、准备操作系统3、安装GP软件4、初始化系统。1.硬件环境的准备(如果只是构建测试平台,不考虑性能,这部分内容可以忽略)首先就是硬件准备。GREENPLUM本身只能运行X86架构的服务器上。因此甭管是普通的PC机还是PCSERVER,甚至是虚拟机都可以运行GREENPLUM。唯一的差别就是效率。按照官方文档的说法,主要是针对生产环境,构造一个标准的GREENPLUM系统需要三台PC服务器。根据实际使用经验,这些服务器至少应该是XEON以上的CPU,1,MASTER节点需要16GB内存,如果使用千兆网卡构建内联环境,至少5块千兆网卡,其中四块千兆网卡用来构建系统的INTERCONNECT,一块用来作为连接系统的PUBLIC网卡。当然如果有条件的话,内联可以用万兆网卡或者IB,效率会更高。MASTER的存储没有什么特殊要求。2,SEGMENT节点(分节点)需要32G内存。如果使用千兆网卡构建内联环境,至少4块千兆网卡,不需要外联网卡。数据存储可以使用PCSERVER内置硬盘,也可以使用外置存储阵列方式(取决于成本和性能的平衡),总数据量不超过可用存储的70%既可。GP提供了一个叫做gpcheckperf的工具可以帮助你检测当前硬件配置的性能情况,并给出报告。为了获取准确的测试数据,建议多运行几次,取平均值。总体而言,与专用设备和系统相比,构建GREENPLUM的生产环境的硬件成本是很低廉的。2.操作系统的准备支持GREENPLUM运行的操作系统平台主要包括LINUX(REDHAT5.4orlater/CENTOS5.4orlater/SUSE10.2orlater)32bit/64bit,solarisx8664bit,以及MACOS64bit。这里主要介绍LINUX平台的设置,其它平台大同小异。首先在每台PCSERVER上安装LINUX操作系统,然后设置内核参数,这决定了GREENPLUM可以获取多少资源使用。官方文档给出的内核参数配置如下编辑/etc/sysctl.conf文件net.ipv4.ip_forward=0net.ipv4.conf.default.accept_source_route=0kernel.sysrq=1kernel.core_uses_pid=1net.ipv4.tcp_syncookies=1kernel.msgmnb=65536kernel.msgmax=65536kernel.sem=25064000100512kernel.shmmax=500000000kernel.shmmni=4096kernel.shmall=4000000000kernel.sem=25064000100512net.ipv4.tcp_tw_recycle=1net.ipv4.tcp_max_syn_backlog=4096net.core.netdev_max_backlog=10000vm.overcommit_memory=2net.ipv4.conf.all.arp_filter=1对于练习环境来说,这个配置是没有问题的。但是在生产环境中,整个系统中有大量SEGMENT实例和镜像实例时,这样的配置可能导致无法启动服务。所以,请加大kernel.sem=25064000100512中最后一位的配置,比如把512改成1024,2048这样的值。另外,可以加大共享内存相关的配置,比如kernel.shmmax和kernel.shmall。完成编辑之后,以root身份执行命令sysctl-p或者重启系统,使其配置生效。修改内核参数后,向/etc/security/limits.conf中添加如下配置*softnofile65536*hardnofile65536*softnproc131072*hardnproc131072由于数据仓库属于IO敏感性应用,为了提高系统效率,生产环境中,我们应该在LINUX内核上修改IO调度的算法。以root身份编辑/boot/grub/menu.lst,添加一行elevator=deadline,但是不要修改failsafe的定义,重启系统(必须),再以root身份执行命令cat/sys/block/*/queue/scheduler,输出的每行应该含有有[deadline],比如noopanticipatory[deadline]cfq然后应该设置磁盘预读,优化磁盘IO效率。以root身份编辑/etc/rc.d/rc.local,添加类这样的内容blockdev--setra16384/dev/sd*,重启系统。使用命令blockdev--getra/dev/sd*可以验证设置。接下来配置域名解析,可以定义DNS,也可以在每台服务器上定义/etc/hosts,每块网卡要有一个名字,比如127.0.0.1localhostloghost10.1.18.138mdw-ext1#eth0onmasternode.UseIPsensibleforLAN172.28.0.250mdw-sp#iDRAC-SharedManagementportonmasternode172.28.4.250mdw-cm#eth0-Sharedwithmanagementport172.28.8.250mdw-1mdw#eth4onmasternode172.28.12.250mdw-2#eth5onmasternode10.1.18.140smdw-ext1#eth0onstandbymasternode.IPsensibleforLAN172.28.0.251smdw-sp#iDRAC-SharedManagementportonmasternode172.28.4.251smdw-cm#eth0-Sharedwithmanagementport172.28.8.251smdw-1smdw#eth4onstandbymasternode172.28.12.251smdw-2#eth5onstandbymasternode172.28.0.1sdw1-sp#iDRAC-SharedManagementportonmasternode172.28.4.1sdw1-cm#eth0-Sharedwithmanagementport172.28.8.1sdw1-1sdw1#eth2onfirstsegmentnode172.28.12.1sdw1-2#eth3onfirstsegmentnode172.28.0.2sdw2-sp#iDRAC-SharedManagementportonmasternode172.28.4.2sdw2-cm#eth0-Sharedwithmanagementport172.28.8.2sdw2-1sdw2#eth2onseconddatanode172.28.12.2sdw2-2#eth3onsecondsegmentnode安装所需要的文件系统。GREENPLUM只能使用文件系统存放数据,不支持裸设备。出于性能考虑,EMC官方建议在LINUX上使用XFS文件系统,SOLARIS上使用ZFS文件系统。如果是练习环境则无所谓,只要相应操作系统可以支持的文件系统即可。对于LINUX来说,SUSE的安装介质上就带有XFS文件系统。REHL6.0以下/CENTOS6.0以下版本则需要到相关网站单独下载XFS文件系统安装。XFS文件系统安装:64bit:rpm-ivhkmod-xfs-0.4-2.x86_64.rpmrpm-ivhxfsprogs-2.9.4-1.el5.centos.x86_64.rpm32bit:rpm-ivhkmod-xfs-0.4-2.i686.rpmrpm-ivhxfsprogs-2.9.4-1.el5.centos.i386.rpm先用fdisk-l查看要格式化的设备,然后使用命令mkfs-txfs/dev/sdc,创建mount点,比如mkdir-p/data/vol1为了保证系统重启后,可以自动mount磁盘,以root身份编辑/etc/fstab,添加条目[devicefile]/dataxfslogbufs=8,noatime,nodiratime11也可以每次系统启动,自己用命令mount/data/vol1进行mount。为了保证每个服务器的时间同步,可以在master服务器上设置NTP服务。在master上,以root身份编辑/etc/ntp.conf#server0.0.0.0server[NTPSERVERIPADDRESS]enableauthmonitordriftfile/var/lib/ntp/drift/ntp.driftlogfile/var/log/ntpstatsdir/var/lib/ntp/ntpstatsfilegenpeerstatsfilepeerstatstypedayenablefilegenloopstatsfileloopstatstypedayenablefilegenclockstatsfileclockstatstypedayenablekeys/etc/ntp.keystrustedkey0requestkey0controlkey0确保所有用户可以读取这个文件chmod744/etc/ntp.conftouch/var/lib/ntp/drift/ntp.drift最终以root用户启动NTP服务chkconfig--levels2345ntpdon/etc/init.d/ntpstart在segment节点上编辑/etc/ntp.conf,添加类似内容server172.28.4.250server172.28.4.251同样要确保所有用户可以读取它chmod644/etc/ntp.conf最终以root身份启动ntp服务chkconfig--levels2345ntpdon/etc/init.d/ntpstartGP本身提供了一个工具gpcheckos,可以帮助你检测操作系统层面的一些必要配置是否正确。3.进行GP软件安装首先去下载安装包,安装包可以从gpn.greenplum.com上获得,不是很大,大约50MB。这个网站在国内不是很好访问,所以如果哪位有网盘共享出来,我愿意给大家share安装包。最新的软件包是4.1版,这个版本不但修复了GP的一些bug,而且提供了一些重要的新特性,比如,关联更新和删除不再必须使用数据分布键做条件,极大提升了业务类型操作的性能等等。下载的版本和生产环境一模一样,只是软性license,这一点与oracle一样,所以大家可以放心使用,没有限制,只是没有官方支持和服务罢了。完成安装包下载之后,上传安装包到master节点的目录,以root身份用unzip解压,比如unzipgreenplum-db-4.1.0-build-3-RHEL5-x86_64.zip,得到一个文件greenplum-db-4.1.0-build-2-RHEL5-x86_64.bin,接下来执行它./greenplum-db-4.1.0-build-2-RHEL5-x86_64.bin系统会提示接受协议,提示默认安装目录,是否新建目录等等。所以只需要按提示yes,回车,或者输入安装路径就可以了。这样就完成了软件的安装。以此类推,每个节点都可以这样安装软件,每个节点再创建一个gpadmin的用户,把软件的安装目录所属从root改成gpadmin,最后建立各个节点间gpadmin用户的ssh等效性就可以了。但是如果遇到大规模节点部署,这样做效率就非常差。所以,我们利用