您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 数据库GreenPlum 集群环境配置与搭建
GreenPlum集群环境搭建1、简介环境搭建准备:greenplum-4.3.8.21.1greenplum介绍简单的说它就是一个与ORACLE,DB2一样面向对象的关系型数据库。我们通过标准的SQL可以对GP中的数据进行访问存取。GREENPLUM与其它普通的关系型数据库的区别?本质上讲GREENPLUM是一个关系型数据库集群.它实际上是由数个独立的数据库服务组合成的逻辑数据库。与RAC不同,这种数据库集群采取的是MPP架构。如下图所示它的组件分成三个部分MASTER/SEGMENT以及MASTER与SEGMENT之间的高效互联技术GNET。其中MASTER和SEGMENT本身就是独立的数据库SERVER。不同之处在于,MASTER只负责应用的连接,生成并拆分执行计划,把执行计划分配给SEGMENT节点,以及返回最终结果给应用,它只存储一些数据库的元数据,不负责运算,因此不会成为系统性能的瓶颈。这也是GREENPLUM与传统MPP架构数据库的一个重要区别。SEGMENT节点存储用户的业务数据,并根据得到执行计划,负责处理业务数据。也就是用户关系表的数据会打散分布到每个SEGMENGT节点。当进行数据访问时,首先所有SEGMENT并行处理与自己有关的数据,如果需要segment可以通过进行innterconnect进行彼此的数据交互。segment节点越多,数据就会打的越散,处理速度就越快。因此与SHAREALL数据库集群不同,通过增加SEGMENT节点服务器的数量,GREENPLUM的性能会成线性增长。GREENPLUM适用场景?GREENPLUM虽然是关系型数据库产品,它的特点主要就是查询速度快,数据装载速度快,批量DML处理快。而且性能可以随着硬件的添加,呈线性增加,拥有非常良好的可扩展性。因此,它主要适用于面向分析的应用。比如构建企业级ODS/EDW,或者数据集市等等。GREENPLUM运行的平台?GREENPLUM运行在X86架构的硬件平台上,目前支持的操作系统包括32/64位的LINUX(REDHAT/SUSE)/SOLARIS/MACOSGREENPLUM的前景?GREENPLUM诞生于2003年硅谷,2010/07EMC收购了GREENPLUM,并把GREENPLUM作为EMC面向分析云的战略核心产品,加以大力发展。该产品不仅在国际市场发展很快,在国内市场发展也很快。最著名的案例就是阿里巴巴集团,经过多种产品的精心选型,最终选择GREENPLUM作为它们的数据仓库平台存放数百TB的业务数据去高效支持各种分析应用。如何学习GREENPLUM?正是由于产品发展速度很快,但是在相关人才上存在很大缺口。因此,我个人认为对于各位有兴趣的技术人员来说,是一个很好的职业发展机会。以个人经验来说,只要有其它关系型数据库的基础,尤其是POSTGRESQL或者INFORMIX基础的(因为GREENPLUM是在POSTGRESQL基础上开发出来的),很容就可以上手学习并掌握GREENPLUM。GREENPLUM的手册写的非常好,完全可以作为入门的教材使用。其软件本身也是软性LICENSE,用于学习研究完全免费,而且与生产环境并无不同,这与ORACLE完全一样。2、GreenPlum的HAGP提供了几个选择性的功能来保证最大正常运行时间和高可用。包括:1.SegmentMirroring--segment镜像2.MasterMirroring--master镜像3.FaultDetection&Recovery--错误检测和恢复-----SegmentMirroring------PrimarySegment和MirrorSegment放在不同主机上。在数据库操作过程中,只有primarysegment是活跃的,mirror仅仅做复制处理(fileblockreplicationprocess)Segment挂了后系统操作流程:1.当segment挂了,文件复制进程停止,mirrorsegment自动的成为活跃的segmentinstance.所有数据库操作则继续使用mirror。2.此时记录事务的模式发生改变,系统状态为ChangeTracking模式。3.当管理员把失败segment重新启动后,恢复进程将把2个之间的差异数据同步。此时系统状态为Resynchronizing模式4.一旦所有的mirror和primary都再次同步完成,系统状态将变更为Synchronized模式。------MasterMirroring------你可以选择性的部署额外一台机器作为StandbyMaster。gpsyncagent--复制进程,用来做master和standby之间的数据同步。Master挂了后系统操作流程:1.如果primarymaster失败后,复制进程将被关闭,并且standbymaster能够被激活,以替换primary。2.于是激活的standbymaster被作为GP数据库master,接收和原master相同端口的连接(replicatedlog是用来恢复最后成功提交事务时间点的masterhost的状态)注:master是不包含用户数据,只是包含systemcatalog表。这些表不经常更新,如果有更新的话,会自动同步到standby。故master和standby始终都保持一致。------错误检测和恢复------ftsprobe-GP中用来做错误检测的,GPSever(postgres)的子进程。该进程根据配置时间间隔监控GP队列、扫描所有segment和数据库进程。gprecoverseg-检测宕掉的segment是否有效,并且和当前活跃segment比较,找出哪些改变丢失。它将只把差异部分做同步,然后把segment设成online。该进程在GP启动和运行的时候会被执行。(如果mirror没开,segment不可用,GP自动shutdown。必须做手工恢复。)3、greenplum4.3.8.2分布式的安装部署Centos6.5系统:64位3.1系统设置1.编辑/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或者重启系统,使其配置生效。2.在/etc/security/limits.conf配置文件末尾处增加如下内容:*softnofile65536#nofile-打开文件的最大数目*hardnofile65536*softnproc131072#noproc-进程的最大数目*hardnproc131072*softcoreunlimited#core-限制内核文件的大小注意:对于RedHat6.x系统,还需要将/etc/security/limits.d/90-nproc.conf文件中的1024修改为131072。3格式化磁盘安装所需要的文件系统。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。GP建议使用下面的挂载参数:rw,noatime,inode64,allocsize=16m比如,挂载XFS格式的设备/dev/sdb到目录/data1,/etc/fstab中的配置如下:/dev/sdb/data1xfsrw,noatime,inode64,allocsize=16m114更改磁盘I/O策略Linux磁盘I/O调度器对磁盘的访问支持不同的策略,默认的为CFQ,GP建议设置为deadline.以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*可以验证设置。5配置read-ahead(blockdev)值官方文档的推荐值为16384检查某块磁盘的read-ahead设置:#blockdev--getradevname例如:#blockdev--getra/dev/sda16384修改系统的read-ahead设置,可通过/etc/rc.d/rc.local来修改,在文件尾部追加如下代码:#blockdev--setra16384/dev/mapper/vg00-LV_01如需临时修改read-ahead设置,可通过执行下面的命令来实现:#blockdev--setrabytesdevname例如:#blockdev--setra16384/dev/sda6关闭防火墙chkconfigiptablesoff永久关闭serviceiptablesstop本次关闭serviceiptablesstatus查看防火墙状态3.2修改主机名和/etc/hosts文件1)在各个主机上修改主机名vi/etc/sysconfig/networkHOSTNAME=master重启后生效。输入指令h
本文标题:数据库GreenPlum 集群环境配置与搭建
链接地址:https://www.777doc.com/doc-3827727 .html