Greenplum安装手册完善版.docx
《Greenplum安装手册完善版.docx》由会员分享,可在线阅读,更多相关《Greenplum安装手册完善版.docx(43页珍藏版)》请在冰豆网上搜索。
Greenplum安装手册完善版
Greenplum数据库安装手册
第一章文档概述
一.1适用范围
1、本安装手册所涉及到的操作系统相关参数调整,主要针对RedhatLinux操作系统,其他操作系统(如:
SUSE、Solaris等)参数配置上会存在差异,后续逐步补充完善。
一.2文档说明
1、下文红色字体部分,如无特殊说明则表示命令执行时是需要根据实际情况进行修改才可以执行。
第二章安装前准备
二.1网络规划
Greenplum数据库系统常见的拓扑图如上图所示,由Master主机和Segment主机组成。
Master主机和Segment主机之间会组成一个内部网络(LAN)。
为了充分发挥Greenplum数据库并行处理的性能,对网络带宽要求较高。
服务器会配置多个网卡,内部网需要配置多个网段的IP。
需要对外连接的服务器需配置外部IP。
建议在Greenplum数据库系统安装之前,把网络配置规划好。
二.2存储空间规划
首先,需要评估目标数据库数据所需要的空间容量。
建议了解客户搭建Greenplum数据库的具体应用。
举例:
估计数据库所需空间为U,数据库需要启用Mirror,磁盘阵列总可用空间为D(Raid之后)。
空间规划服务和如下公式:
2*U+U/3=D*70%
磁盘空间D平均分配到各个Segment服务器上。
Master需要相应的空间。
使用服务器内置硬盘的计算方式类似。
二.3数据库实例规划
规划每个Segment服务器上建立的数据库实例的数量(instance数量),通常建议每2个CPU内核(core)对应一个数据库实例。
如:
2*4核CPU的服务区,可配置4个实例。
第三章安装介质
三.1Redhat
三.1.1系统补丁
1.gcc
yum-yinstallgcc;
yum-yinstallgcc-c++;
yuminstallmake
2.scpyuminstallopenssh-clients
3.edyuminstalled重要!
4.若使用gpconfig命令,需要安装perl
yuminstallperl
三.1.2Greenplum安装介质
GP安装介质需根据实际需要从DownloadCenter上下载对应的版本。
名称
安装文件
备注
Greenplum主安装包
Network.pivotal.io
安装前请先确定所要安装的具体版本。
在Master服务器安装
GreenplumWebMonitor工具安装包
Network.pivotal.io
同上
Greenplumclients安装包
Network.pivotal.io
安装前请先确定所要安装的具体版本。
在ETL服务器中安装
Greenplumloader安装包
Network.pivotal.io
安装前请先确定所要安装的具体版本。
在ETL服务器中安装
Greenplum安装包可提前执行,可利用其gpscp、gpssh等工具。
三.1.3操作系统建议
Segment节点建议不安装X-Windows,Gnome,KDE,andPrinters。
第四章操作系统准备
四.1修改主机名
修改各台主机的主机名称。
一般建议的命名规则如下:
Master:
mdw
StandbyMaster:
smdw
SegmentHost:
sdw1、sdw2……sdwn
修改操作:
1、hostnamemdw
2、修改/etc/sysconfig/network或者/etc/hostname配置文件中的hostname
四.2修改/etc/hosts文件
通常Master和StandbyMaster主机都配置外部IP和内部IP。
Segment主机可只配置内部IP。
所有主机的hosts文件内容必须保持一致。
如下为配置例子:
21.104.138.21mdw-ext1
192.168.1.254mdw-1mdw
192.168.2.254mdw-2
192.168.3.254mdw-3
192.168.4.254mdw-4
192.168.5.254mdw-5
192.168.6.254mdw-6
21.104.138.22smdw-ext1
192.168.1.253smdw-1smdw
192.168.2.253smdw-2
192.168.3.253smdw-3
192.168.4.253smdw-4
192.168.5.253smdw-5
192.168.6.253smdw-6
21.104.138.23sdw1-ext1loghost
192.168.1.1sdw1-1sdw1
192.168.2.1sdw1-2
192.168.3.1sdw1-3
192.168.4.1sdw1-4
192.168.5.1sdw1-5
192.168.6.1sdw1-6
21.104.138.24sdw2-ext1
192.168.1.2sdw2-1sdw2
192.168.2.2sdw2-2
192.168.3.2sdw2-3
192.168.4.2sdw2-4
192.168.5.2sdw2-5
192.168.6.2sdw2-6
21.104.138.25sdw3-ext1
192.168.1.3sdw3-1sdw3
192.168.2.3sdw3-2
192.168.3.3sdw3-3
192.168.4.3sdw3-4
192.168.5.3sdw3-5
192.168.6.3sdw3-6
21.104.138.26sdw4-ext1
192.168.1.4sdw4-1sdw4
192.168.2.4sdw4-2
192.168.3.4sdw4-3
192.168.4.4sdw4-4
192.168.5.4sdw4-5
192.168.6.4sdw4-6
四.3关闭相关服务
【涉及机器】:
所有服务器
关闭防火墙
serviceiptablessave
serviceiptablesstop
chkconfigiptablesoff
serviceip6tablessave
serviceip6tablesstop
chkconfigip6tablesoff
针对RedHat7.0以上的关闭防火墙命令:
systemctldisablefirewalld
systemctlstopfirewalld
【需要关闭iptables防火墙】
查看防火墙状态:
/etc/init.d/iptables status
RedHat7.0以上的版本,查看防火墙状态的命令:
systemctlstatusfirewalld
四.4修改系统参数(Redhat)
【涉及机器】:
所有服务器
使用root用户进行修改,重启后生效。
四.4.1修改系统参数/etc/sysctl.conf
(Sysctl是一个允许您改变正在运行中的Linux系统的接口。
它包含一些TCP/IP堆栈和虚拟内存系统的高级选项)
kernel.shmmax=500000000
kernel.shmmni=4096
kernel.shmall=4000000000
kernel.sem=2505120001002048
kernel.sysrq=1
kernel.core_uses_pid=1
kernel.msgmnb=65536
kernel.msgmax=65536
net.ipv4.tcp_syncookies=1
net.ipv4.ip_forward=0
net.ipv4.conf.default.accept_source_route=0
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_max_syn_backlog=4096
net.ipv4.conf.all.arp_filter=1
net.ipv4.conf.default.arp_filter=1
dev_max_backlog=10000
vm.overcommit_memory=2
kernel.msgmni=2048
net.ipv4.ip_local_port_range=102565535
四.4.2修改系统参数/etc/security/limits.conf
*softnofile65536
*hardnofile65536
*softnproc131072
*hardnproc131072
在RHEL6.x版本需要修改文件/etc/security/limits.d/90-nproc.conf,增加如下内容:
*softnproc131072
*hardnproc131072
centos7修改/etc/security/limits.d/20-nproc.conf
*softnproc65536
rootsoftnprocunlimited
不把这些参数调大的话并发一上去就报错
四.4.3修改磁盘预读参数
在参数文件/etc/rc.d/rc.local中增加
blockdev--setra65536/dev/sd*
(红色部分为数据目录所在的磁盘,如/dev/sda,/dev/sdb等)
chmod+x/etc/rc.d/rc.local
临时生效blockdev--getra65536/dev/sd*
四.5关闭selinux
【永久性关闭selinux】
sed-i's/SELINUX=enforcing/SELINUX=disabled/'/etc/selinux/config
【临时关闭】
临时关闭setenforce0
四.6重启各台服务器
必须完成上述步骤之后,才重启各台服务器。
第五章建立数据目录
五.1Linux系统采用XFS文件系统
五.1.1Master和StandbyMaster主机
注:
红字根据具体情况而改变
1、分区及格式化:
mkfs.xfs/dev/sda3或者mkfs-txfs/dev/sda3
或者mkfs-fxfs/dev/sda3
mkdir-p/data/master(Master数据目录)(在根目录上创建一个data文件夹在这个文件夹下面创建一个master文件夹)
2、在/etc/fstab文件中增加(如何配置添加)
/dev/sda3/dataxfsrw,noatime,inode64,allocsize=16m11
把/data/master赋予777权限
reboot
五.1.2Segment主机
注:
红字根据具体情况而改变
1、分区及格式化:
mkfs.xfs/dev/sda2或者mkfs-txfs/dev/sda2
mkfs.xfs/dev/sdb2
mkdir/data1(Segment数据目录,可根据实例和分配空间不同规划不同的目录)
mkdir/data2
把/data/赋予777权限
2、在/etc/fstab文件中增加
/dev/sda2/data1xfsrw,noatime,inode64,allocsize=16m11
/dev/sdb2/data2xfsrw,noatime,inode64,allocsize=16m11
reboot
第六章Master安装Greenplum
六.1运行安装文件(这步可提前执行)
【安装机器】:
Master主机
如果是压缩文件则先解压:
unzipgreenplum-db-4.1.1.3-build-4-RHEL5-x86_64.zip
/bin/bashgreenplum-db-4.1.1.3-build-4-RHEL5-x86_64.bin
安装完成后修改root用户home的~/.bashrc配置文件,增加
source/usr/local/greenplum-db/greenplum_path.sh
六.2配置hostname文件(用于建立多机信任)
【安装机器】:
master机器
建议:
在安装目录下新建gpconfigs目录。
包含所有master和segment主机名和别名的文件。
多网卡可能如下:
hostfile_exkeys:
mdw
mdw-1
smdw
smdw-1
sdw1-1
sdw1-2
sdw2-1
sdw2-2
单网卡可能如下:
hostfile_exkeys:
mdw
smdw
sdw1
sdw2
sdw3
sdw4
建立all_hosts_only,只包含主机名,不包含各个网段对应的hostname,用于gpssh命令。
all_hosts_only
mdw
smdw
sdw1
sdw2
sdw3
sdw4
第七章建立多机信任
七.1root用户建立多机信任
source/usr/local/greenplum-db/greenplum_path.sh
建立多机信任:
gpssh-exkeys-f./hostfile_exkeys
对于RHEL6.x版本,建议先关闭一个环境变量再做多机互信
unsetOPENSSL_CONF
ps:
如建立多机信任时出现permissiondenied(publickey.gssapi-with-mic)或者类似的错误,需要修改每台机器的/etc/ssh/sshd_config文件,去掉PermitRootLogin前的#,并把对应的值改为yes,
RSAAuthenticationyes
PubkeyAuthenticationyes
AuthorizedKeysFile.ssh/authorized_keys
默认是用的22端口,如果22端口没开建议先打开22端口
七.2建立用户和组
gpssh-f./all_hosts_only
=>groupadd-g3030gpadmin
=>groupadd-g3040gpmon
=>useradd-u3030-ggpadmin-m-s/bin/bashgpadmin
=>useradd-u3040-ggpmon-m-s/bin/bashgpmon
=>echogpadmin|passwdgpadmin--stdin
=>echogpmon|passwdgpmon--stdin
=>chown-Rgpadmin:
gpadmin/data(修改数据目录用户和组)
Data为数据库文件的目录
七.3修改gpadmin用户配置
使用gpadmin用户操作
【Master和StandbyMaster主机】:
修改~/.bashrc文件,添加如下内容:
source/usr/local/greenplum-db/greenplum_path.sh
MASTER_DATA_DIRECTORY=/data/master/gpseg-1
exportMASTER_DATA_DIRECTORY(gpstart默认启动的目录)
使用gpadmin用户操作
【Segment主机】:
修改~/.bashrc文件,添加如下内容:
source/usr/local/greenplum-db/greenplum_path.sh
七.4gpadmin用户建立多机信任
使用gpadmin用户在Master主机上操作
gpssh-exkeys-f./hostfile_exkeys
(提示密码,输入gpadmin)###默认的密码
对于RHEL6.x版本,建议先关闭一个环境变量再做多机互信
unsetOPENSSL_CONF
第八章时钟同步
使用root用户进行操作,涉及所有服务器。
Greenplum推荐使用NTP(NetworkTimeProtocol)同步各台主机的时钟。
建议设置一台独立的时钟服务器。
yuminstallntp?
ntpd
1、Master服务器配置与时钟服务器同步。
修改配置文件/etc/ntp.conf后,启动ntpd服务。
举例:
配置文件增加:
server10.6.220.20
启动服务:
servicentpdstart
chkconfigntpdon
如果没有独立的时钟服务器,则应该以Master服务器做内部的时钟服务器,Master就可以不用修改ntp.conf配置文件,直接启动ntpd服务即可。
2、所有Segment服务器优先与Master服务器同步,其次与StandbyMaster服务器同步。
修改配置文件/etc/ntp.conf后,重启ntpd服务。
配置文件增加:
servermdwprefer
serversmdw
启动服务:
servicentpdstart
chkconfigntpdon
3、StandbyMaster服务器优先与Master服务器,其次与时钟服务器同步。
修改配置文件/etc/ntp.conf后,重启ntpd服务。
配置文件增加:
servermdwprefer
server10.6.220.20(时钟服务器举例)
启动服务:
servicentpdstart
chkconfigntpdon
如果没有独立的时钟服务器,第二行不用配置。
4、检查时钟同步结果(需要等几分钟,时钟才会自动同步)
gpssh-f./all_hosts_only
=>date(查看各台服务器时间是否一致)
第九章其他机器安装Greenplum
九.1配置hostname文件
其他机器的安装主要操作时把安装在Master主机上的GP安装文件打包传到其他各台机器中。
因此,需要配置一个hostname文件包含Standbymaster和各台Segment主机,配置文件stby_all_segs内容参考如下:
smdw
smdw-1
sdw1-1
sdw1-2
sdw2-1
sdw2-2
九.2方法一(4.0版本以上支持,推荐使用)
安装gzip,chmod777/usr/local
在Master主机上,使用root用户操作:
gpseginstall-f./stby_all_segs-pgpadmin
九.3方法二(4.0版本一下使用)
在Master主机上,使用root用户操作:
cd/usr/local(安装目录)
tar-cvf/usr/local/gp.targreenplum-db-3.3.7.6(tar安装文件目录)
gpscp-f./stby_all_segs/home/gpadmin/gp.tar=:
/usr/local
gpssh-f./stby_all_segs
=>tar--directory/usr/local-xvf/usr/local/gp.tar
=>ls/usr/local/greenplum-db-3.3.7.6
=>ln-s/usr/local/greenplum-db-3.3.7.6/usr/local/greenplum-db
=>chown-Rgpadmin:
gpadmin/usr/local/greenplum-db
=>rm/usr/local/gp.tar
第十章系统检查
在Master上使用gpadmin用户登录执行系统检查
十.1参数配置检查(非必要)
配置all_hosts_single文件内容如下:
sdw1
sdw2
sdw3
sdw4
gpcheck-f/usr/local/greenplum-db/gpconfigs/all_hosts_single-mmdw-ssmdw
核对并修改下你感应系统参数。
十.2性能检查
十.2.1网络性能检查
网络性能测试需要每个网段分别进行测试,按照4个SegmentHost和2个网络为例,首先配置如下两个配置文件:
all_net_1文件:
sdw1-1
sdw2-1
sdw3-1
sdw4-1
all_net_2文件:
sdw1-2
sdw2-2
sdw3-2
sdw4-2
然后分别针对两个网段继续测试:
gpcheckperf-f/usr/local/greenplum-db/gpconfigs/all_net_1-rN-d/tmp>checknetwork.out
gpcheckperf-f/usr/local/greenplum-db/gpconfigs/all_net_2-rN-d/tmp>checknetwork.out
十.2.2磁盘性能检查
测试磁盘性能主要针对SegmentHost进行测试。
因此配置一个all_segs的文件进行测试,并且指定多个目录启动并发测试,测试结果会更好。
all_seg配置文件内容举例如下(与数据库初始化可用同一配置文件):
sdw1-1
sdw1-2
sdw1-3
sdw1-4
sdw2-1
sdw2-2
sdw2-3
sdw2-4
sdw3-1
sdw3-2
sdw3-3
sdw3-4
sdw4-1
sdw4-2
sdw4-3
sdw4-4
执行如下命令进行测试:
内存及磁盘:
gpcheckperf-f/usr/local/greenplum-db/gpconfigs/all_hosts_single-rds-D-d/data1/primary-d/data2/primary-d/data1/mirror-d/data2/mirror>checkio.out
磁盘:
gpcheckperf-f/usr/local/greenplum-db/gpconfigs/all_hosts_single-rd-D-d/data1/primary-d/data2/primary-d/data1/mirror-d/data2/mirror
某台机磁盘检查:
gpcheckperf-hsdw6-hsdw7-hsdw8-hsdw9-hsdw10-rd-D-d/data1/primary-d/data2/primary-d/data1/mirror-d/data2/mirror
检查磁盘IO的目标目录是数据库的数据文件目录,测试工具会写入系统内存的两倍大小的数据量。
第十一章初始化数据库
在Master上使用gpadmin用户登录执行系统检查
十一.1配置文件
请注意,Greenplum3.x版本和4.x版本的初始化配置文件格式存在差异,配置时建议从$GPHOME/docs/cli_help/gpconfigs/目录中