GreenPlum使用手册.docx
- 文档编号:5626819
- 上传时间:2022-12-29
- 格式:DOCX
- 页数:33
- 大小:64.73KB
GreenPlum使用手册.docx
《GreenPlum使用手册.docx》由会员分享,可在线阅读,更多相关《GreenPlum使用手册.docx(33页珍藏版)》请在冰豆网上搜索。
GreenPlum使用手册
GreenPlum数据库集群
安装说明及使用手册
开心十二月总结
****年**月**日
1体系结构介绍
Greenplum数据库产品——下一代数据仓库引擎和分析方法
Greenplum公司是企业数据云计算解决方案的创始人,为客户提供灵活的数据商业智能和分析方法。
能够以极低的成本代价,提供业界领先的计算性能。
客户遍及美国知名企业:
Nasdaq、NYSE、Ebay、FoxInteractiveMedia……等。
Greenplum公司的Greenplum数据库产品是用于建造下一代数据仓库和巨大规模分析系统的软件解决方案。
支持SQL和MapReduce并行处理,更适合管理TB级~PB级的海量数据,并以极低的成本代价提供了业界领先的计算性能。
使用独有的sharing-nothingMPP架构,服务器的集群工作起来,就像是一个独立的超级计算机!
优化了BI和分析方法,自动化分区数据和并行查询,比传统数据库执行速度提高10倍~100倍!
Greenplum数据库的特色:
Ø大规模地并行分析处理能力
Greenplum数据库可以跨越100~1000颗CPU,实现统一的并行操作引擎,让处理过程尽可能地靠近数据。
Greenplum是业界最快的和最普及的高端数据仓库解决方案!
用传统方式需花费数天才能完成的复杂查询,现在使用Greenplum只需要几分钟完成!
Ø核心的MPP架构
Greenplum数据库提供数据和查询的自动化并行:
数据被自动分区跨越集群中的所有节点;查询以高度协作的方式,在集群的所有节点上执行。
Ø高速PB级数据装载
利用独有的MPPScatter/GatherStreaming技术,实现高速的数据装载。
每增加1个节点,每小时装载吞吐量提高4TB!
Ø数据库内部压缩
利用业界领先的压缩技术提高性能和降低存储空间。
在有效较少1/3~1/10空间的同时,相应地提高了I/O性能。
Ø多级容错能力
Greenplum数据库利用多级冗余技术,在硬件或软件故障时,保障操作可以继续执行。
Ø在线系统扩展
为提高存储容量、处理性能,增加新的服务器到集群中,扩展的操作在后台完成,数据库可以继续保持正常工作状态不受影响。
处理性能和存储容量,随服务器的个数增加成正比显着提高!
Ø自有的MapReduce技术
MapReduce是Google和Yahoo的大规模数据分析方法。
Greenplum使用独有的并行引擎执行MapReduce。
Greenplum数据库架构原理解密:
Greenplum数据库通过分布负载到多个服务器主机,实现操作存储和处理大规模的数据。
数据库实际上由1个Master服务器和若干个独立的Segment服务器组成,一起协调工作,每个服务器都是独立的PostgreSQL数据库。
如图1所示,Master服务器是数据库的入口,验证客户端,处理输入的SQL,分布工作到若干Segment服务器,统一协调各个Segment返回的结果,汇总最终结果返回客户端。
Master不存储任何用户数据,只有全局系统视图。
图1:
Greenplum数据库架构
如图2所示,Segment服务器是真正数据存储的地方,并承担主要的查询工作。
用户数据(表、索引)被分布存储到有效的若干Segment,通过Hash算法,每个Segment存放数据的不同部分。
图2:
Segment服务器真正存储数据
图3展示了一套完整的Greenplum数据仓库实施架构示例。
独立的Master服务器,通过千兆网络连接在一起的若干Segment服务器,每个Segment服务器挂载独立的RAID存储。
服务器基于X86-64位硬件平台,安装Linux操作系统,获得极高的性价比。
图3:
Greenplum数据库完整实施架构示例
图4记录了一次完整的MPP并行查询过程。
Master作为查询调度器,为客户端提供连接工作;Segment独立管理数据片和数据操作。
调度过程如下:
1.Master验证客户端用户。
2.Master连接到所有远程Segment实例。
3.Master解析SQL语句。
4.Master建立1个优化的并行查询计划。
5.Master分布查询计划到所有的Segment实例。
6.Master协调查询计划在所有Segment上并行执行。
7.Master收集所有Segment的查询结果并返回到客户端。
图4:
一次查询调度过程
Greenplum独有的Sharing-Nothing架构:
数据仓库在执行全表扫描查询时,通常速度被存储的带宽限制,即瓶颈大多集中在I/O。
Greenplum的Sharing-Nothing架构物理分离数据,存储到若干Segment服务器,每个Segment使用多个、专用的、独立的、高速的通道独立连接到磁盘,并把管理数据库资源:
buffer、lock、block的职责委派到各个Segment,不使用Master统一管理资源!
从图5中可以看出与Sharing-Everything架构(如OracleRAC)对比,存在2个明显区别:
图5:
sharing-everying对比sharing-nothing数据库架构
1)数据库物理存储方式不同:
在RAC环境下,数据库集中存储,集群中的所有节点共享I/O通道访问数据,随着TB级别海量数据的增加,I/O瓶颈可想而知。
2)集群节点间内部通信管理方式不同:
如图6,RAC使用GRD(GlobalResourceDirectory)统一管理数据库资源,管理内部节点间通信。
用户对每个block的访问,都要经过GRD的协调调度,极其繁琐且需要额外的进程通信负担;随着节点个数的增加,GRD会增加管理的复杂度,可能会导致产生性能问题!
图6:
OracleRAC的GRD架构
安装
安装
安装准备
CentOS-6.3-x86_64-bin-DVD1.iso
VMwareWorkstation
os的配置
以root用户操作
检查系统条件
检查系统名称,版本,内核.
#uname-a
检查磁盘空间
#df-h
设置主机名
#vi/etc/sysconfig/network
HOSTNAME=*single*(*变量*,以后出现*string*,均指变量)
设置集群各个机器ip与主机的对应表
#vi/etc/hosts
配置运行参数:
#vi/etc/sysctl.conf添加修改:
kernel.sem=25064000100512
kernel.shmmni=4096
kernel.sem=25064000100512
kernel.sysrq=1
kernel.core_uses_pid=1
kernel.msgmnb=65536
kernel.msgmax=65536
vm.overcommit_memory=2
#vi/etc/security/limits.conf
添加修改
*softnofile65536
*hardnofile65536
*softnproc131072
*hardnproc131072
关闭iptables
[root@localhost~]#serviceiptablesstop
iptables:
清除防火墙规则:
[确定]
iptables:
将链设置为政策ACCEPT:
filter[确定]
iptables:
正在卸载模块:
[确定]
[root@localhost~]#chkconfigiptablesoff
[root@localhost~]#serviceip6tablesstop
ip6tables:
清除防火墙规则:
[确定]
ip6tables:
将chains设置为ACCEPT策略:
filter[确定]
:
正在卸载模块:
[确定]
[root@localhost~]#chkconfigip6tablesoff
安装gp-db
创建gpadmin用户
#useraddgpadmin
#passwdgpadmin
#Newpassword:
gpadmin
#Retypenewpassword:
gpadmin
解压zip包
例如:
把安装包copy到/home/gpadmin目录下
#sugpadmin
#cd/home/gpadmin
#unzip
执行安装文件
下图打印了安装时的情况:
出现如下提示:
********************************************************************************
DoyouaccepttheGreenplumDatabaselicenseagreement?
[yes|no]
********************************************************************************
yes
********************************************************************************
ProvidetheinstallationpathforGreenplumDatabaseorpressENTERto
********************************************************************************
********************************************************************************
********************************************************************************
yes
********************************************************************************
(Selectingnowillexittheinstaller)
********************************************************************************
yes
********************************************************************************
[Optional]ProvidethepathtoapreviousinstallationofGreenplumDatabase,
ThisinstallationstepwillmigrateanyGreenplumDatabaseextensionsfromthe
providedpathtotheversioncurrentlybeinginstalled.Thisstepisoptional
andcanberunlaterwith:
********************************************************************************
SkippingmigrationofGreenplumDatabaseextensions...
********************************************************************************
Installationcomplete.
GreenplumDatabasedocumentationisavailablefordownload
********************************************************************************
安装成功!
配置通讯
登录master机器source一下greenplum_path.sh文件
#source/home/gpadmin/greenplum-db/greenplum_path.sh
编辑一个主机列表
列表为主机名.
#cd/home/gpadmin
#viall_hosts_file
*host1*
*host2*
*host3*
…
打通root的ssh通道
执行gpssh-keys命令.
#su–root
#gpssh-exkeys-fall_hosts_file
gpssh-exkeys将要求对每台机器鉴权.
提示:
后输入用户名密码
***Enterpasswordforroot@hostname:
rootpassword
提示:
[STEP1of5]createlocalIDandauthorizeonlocalhost
[STEP2of5]keyscanallhostsandupdateknown_hostsfile
[STEP3of5]authorizecurrentuseronremotehosts
[STEP4of5]determinecommonauthenticationfilecontent
[STEP5of5]copyauthenticationfilestoallremotehosts
[INFO]completedsuccessfully
为每台机器创建gpadmin用户
#su–root(以root用户登录各节点机器来创建用户)
#gpssh-fall_hosts_file'/usr/sbin/useraddgpadmin-d/home/gpadmin-s/bin/bash'
为每台机器添加gpadmin的密码
#gpssh-fall_hosts_file'echopassword|passwdgpadmin--stdin'
修改目录拥有者
#chown-Rgpadmin:
gpadmin/home/gpadmin/*
打通gpadmin的ssh通道
执行gpssh-keys命令.
#sugpadmin
#source/home/gpadmin/greenplum-db/greenplum_path.sh
#gpssh-exkeys-fall_hosts_file
gpssh-exkeys将要求对每台机器鉴权.
提示:
后输入用户名密码
***Enterpasswordforroot@hostname:
rootpassword
提示:
[STEP1of5]createlocalIDandauthorizeonlocalhost
[STEP2of5]keyscanallhostsandupdateknown_hostsfile
[STEP3of5]authorizecurrentuseronremotehosts
[STEP4of5]determinecommonauthenticationfilecontent
[STEP5of5]copyauthenticationfilestoallremotehosts
[INFO]completedsuccessfully
把master的gp-db服务copy到各个slave机器上.
在master上把gp-db打包.
#cd/home/gpadmin
#source/home/gpadmin/greenplum-db/greenplum_path.sh
#gtar-cvf/home/gpadmin/gp.targreenplum-db-4.0.x.x
做主机列表
(不能有空行和空格!
!
!
)
#viseg_hosts_file
*sdw1-1*
*sdw2-1*
*sdw3-1*
copy到各个seg机器上
#gpscp-fseg_hosts_file/home/gpadmin/gp.tar=:
/home/gpadmin
登录到各个slave机器
#gpssh-fseg_hosts_file
解压tar包
=>gtar--directory/home/gpadmin-xvf/home/gpadmin/gp.tar
查看服务
=>ls/home/gpadmin/greenplum-db-4.0.x.x
建立链接
=>ln-s/home/gpadmin/greenplum-db-4.2.1.0/home/gpadmin/greenplum-db
更改用户组
=>chown-Rgpadmin:
gpadmin/home/gpadmin/greenplum-db
删除tar包
=>rm/home/gpadmingp.tar
退出远程登录
Exitgpssh
=>exit
激活
#source/home/gpadmin/greenplum-db/greenplum_path.sh
#source~/.bashrc
建立数据存储池
建立master的数据结构存储地
#sugpadmin
#cd/home/gpadmin
#mkdirgpmaster
建立业务数据存储地
登录到每台节点机上创建目录,gpadmin有操作权限
su-gpadmin
#cd/home/gpadmin
$mkdirgpdata1
#chown–Rgpadmin:
gpadmingpdata1
同步系统时间
同步系统时间:
$gpssh-fseg_hosts_file-vdate
同步NTP时间:
$gpssh-fseg_hosts_file-vntpd
验证安装是否成功
#gpcheck-fall_hosts_file
初始化
设置变量:
#sugpadmin
#vi.bash_profile
GPHOME=/home/gpadmin
exportGPHOME
MASTER_DATA_DIRECTORY=/home/gpadmin/gpmaster/gpseg-1
exportMASTER_DATA_DIRECTORY
#source~/.bashrc
#source.bash_profile
建立初始化文件:
#vigp_init_config
ARRAY_NAME="Greenplum"
MACHINE_LIST_FILE=/home/gpadmin/seg_hosts_file
SEG_PREFIX=gpseg
PORT_BASE=50000
declare-aDATA_DIRECTORY=(/home/gpadmin/gpdata1)
MASTER_HOSTNAME=master
MASTER_DIRECTORY=/home/gpadmin/gpmaster
MASTER_PORT=5432
TRUSTED_SHELL=ssh
CHECK_POINT_SEGMENTS=8
ENCODING=UTF8
DATABASE_NAME=test
执行初始化:
#source/home/gpadmin/greenplum-db/greenplum_path.sh
#gpinitsystem-c/home/gpadmin/gp_init_config
这部分添加的内容要在文件中和这个文件内容类似的地方添加
修改master机器上的路径下/home/gpadmin/gpmaster/gpseg-1的文件postgresql.conf,将内容#listen_addresses='*'的#符号去掉,即为将监听打开
数据库的启停
1)启动数据库服务
在master节点上,请以gpadmin用户登入OS,执行命令gpstart,系统会自检,并提示是否启动服务,选择y,启动服务。
如果使用gpstart-a则系统无任何提示,进行启动。
如果不希望屏幕输出则使用gpstart-q
具体的选项帮助说明,可以通过gpstart-h或者gpstart--help获得。
在启动服务后,通过ps-ef|greppostgre*可以看到相关的服务进程。
2)查看数据库状态
在master节点上,使用gpstate命令。
gpstate-s查看细节。
3)关闭数据库服务
在master节点上,请以gpadmin身份,登入os,执行命令gpstop。
如果有连接没有断开,想强行关闭服务使用gpstop-Mfast(注意选项的大小写)
如果要重启系统,可以使用gpstop-u
注:
数据库的启停和查看数据库状态的操作都是在master上进行的,不需要动segment节点。
Master双机热备
master镜像是通过把primarymaster对应的standbymaster放置到不同的物理主机实现的。
正常情况下只有primarymaster接受用户连接请求,standbymaster通过gpsyncagent进程(运行在standbymaster上)利用事务日志保持与primarymaster的同步。
由于master上不存放任何用户数据,存放在其中的表不会频繁更新,因此同步是实时的。
standbymaster所在主机除了复制进程外,没有正式master服务运行。
当primary出现故障,standbymaster日志复制进程停止,DBA可以激活standbymaster,使它切换成primarymaster,保证原primarymaster故障时最后提交的事务可以正常提交,并且使用相同的端口接入用户新的连接请求.
启用standbymaster的流程非常简单,既可以在初始化时启用standbymaster(gpinitsystem),也可以对存在的系统添加standbymaster(gpinitstandby)。
无论哪种方式,首先要准备standby的主机,包括操作系统,用户等效性的建立,以及GP软件的安装。
如果初始化时,添加standbymaster,仅需要在gpinitsystem命令上使用-s参数指定standby用的主机名即可。
也可以使用gpinitstandby工具去添加standbymaster。
DBA需要从处于工作状态的primarymaster节点上调用这个工具,使用-s参数,后面跟上standby的主机名。
比如gpinitstandby-sv-centos62-64-66
如果遇到primarystandby出现
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GreenPlum 使用手册