1、江西移动Greenplum 数据库安装修改统计编号日期描述版本作者审核公布日期目 录1物理环境布署31.1Greenplum物理架构设计31.2磁盘硬件RAID设计51.3网络IP计划52软件环境安装配置62.1操作系统安装配置62.2操作系统参数设置112.3操作系统安全配置132.4操作系统用户组和用户152.5网络配置152.6集群NTP服务时钟同时配置163数据库系统安装配置163.1Greenplum软件安装163.2数据库初始化204数据库参数214.1数据库参数设置214.2调整连接控制参数235Command center安装231 物理环境布署1.1 Greenplum物理架
2、构概述Greenplum是一个基于postgresql(开源数据库)分布式数据库。其采取shared nothing架构(MPP),主机,操作系统,内存,存放全部是自我控制,不存在共享。关键由master host(master管理节点),segment host(segment数据节点),interconnect(网络)三大组件组成,segment host又包含primary segment(主segment实例)及mirror segment(镜像segment实例)。以下图所表示:其中各组件功效以下: Master host (master管理节点)关键负责接收并分配查询等任务,是Gr
3、eenplum环境和外界通信入口。而且,master管理节点不存放任何业务数据,只负责对各Segment数据节点抽取出业务数据进行汇总,反馈给用户。 Standby master(Standby master管理节点)关键作为master管理节点热备份节点,当master管理节点宕机时Standby master则饰演master管理节点角色。 Node/segment host(Segment数据节点)关键负责运行Segment instances(Segment实例)服务进程,支撑多少个Segment实例取决于Segment数据节点CPU核数。 Primary Segment(主实例)存放
4、数据库一部分独立数据(即每个主实例存放数据完全不一样),关键负责处理查询等任务,每个Segment数据节点能配置多少个主实例取决于CPU等物理配置情况。当加载数据至数据库时,数据库按既定分配算法决定实例分别存放哪些数据,当master将实施计划发给各实例,各实例关键处理其负责那部分数据。 Mirror segment(镜像实例)关键作为Primary Segment(主实例)热备份节点,当Primary Segment(主实例)不可用时Mirror segment(镜像实例)则饰演master管理节点角色。 Interconnect switches(互连交换机)是Greenplum数据库环境
5、通信关键,关键负责各节点通信交互。1.2 硬件环境1. Master/Standby服务器 Master硬件信息设备型号华为RH2288H V2 CPU英特尔志强 8核 E5-2650V2 2.6GHz处理器 2*8core内存192G磁盘23*900GB网卡端口4*1GE+4*10GB口服务器数量22., Segment服务器Slaver硬件信息设备型号华为RH2288H V2 CPU英特尔志强 8核 E5-2650V2 2.6GHz处理器 2*8core内存192G磁盘23*900GB网卡端口4*1GE+4*10GB口服务器数量17(目前环境13台)3. 万兆网络2台华为交换机9300做了
6、交换机堆叠配置,每台服务器连接2条万兆网线,分别连接到两台交换机,在主机上配置网卡聚合,实现负载均衡和容错。1.3 磁盘硬件RAID设计考虑数据安全性、可靠性、运行性能和容量需求,在硬件方面采取RAID进行进行数据保护。对于磁盘RAID设置要求: RAID卡打开“Write Back”Cache设置和“Read ahead”读策略。 分成2组RAID5:12*900G +11*900G。1.4 网络IP计划为了最大程度满足性能和可靠性要求,集群配置了2台华为9300交换机,做了交换机堆叠配置,每台服务器连接2条万兆网线,分别连接到两台交换机,在主机上配置网卡聚合(mode=4),实现负载均衡和
7、容错。 因为采取网卡聚合技术,每台服务器只需配置一个IP地址,整个集群处于一个vlan之中。用途机器名IPGPDB Masterjxgpmaster0110.180.212.64GPDB Standbyjxgpmaster0210.180.212.65GPDB Segmentjxgpseg0510.180.212.70jxgpseg0610.180.212.71jxgpseg0710.180.212.72jxgpseg0810.180.212.73jxgpseg0910.180.212.74jxgpseg1010.180.212.75jxgpseg1110.180.212.76jxgpseg1
8、210.180.212.77jxgpseg1310.180.212.78jxgpseg1410.180.212.79jxgpseg1510.180.212.80jxgpseg1610.180.212.81jxgpseg1710.180.212.822 软件环境安装配置2.1 操作系统安装配置2.1.1 BIOS设置 进入BIOS功效界面,开启BIOS 超线程 开启 验证BIOS超线程设置合规性:A: grep i cpu cores | /proc/cpuinfo |wc lB: grep i processor | /proc/cpuinfo |wc l 检验结果:处理器数量是核数2倍。2.
9、1.2 操作系统安装设置2.1.2.1 安装操作系统基础包操作系统版本:Redhat Enterprise Linux Server 6.5(64bit) 要求: 选择“最小”软件组方法安装Red Hat Enterprise Linux 6.5 (64bit) 选中“现在自定义”选项,选择安装其它系统工具包。2.1.2.2 安装系统语言包 要求:操作系统安装过程中,请安装以下语言支持。 POSIX C和 en_US.utf8 locales 在安装操作系统时安装。即The POSIX C and en_US.utf8 locales must be installed during the
10、OS installation. Additional locales may be installed as necessary to suit the customer. 以 English(English)作为操作系统安装/登录时采取语言。 除英文环境,在安装附加语言支持时,选择简体汉字。即zh_CN.gbk、zh_CN.gb18030、zh_CN.utf8、zh_CN.BIG5,等汉字语言包需要在安装操作系统时一并安装。2.1.2.3 安装系统工具包组件名称组件功效版本要求验证检验Kdump系统信息转储工具和操作系统相同版本Service kdump statusWhich kdump
11、Ntp时间同时服务和操作系统相同版本Service ntpd statusPerlPerl语言工具包和操作系统相同版本Perl -versionTcpdump网络数据采集分析工具和操作系统相同版本which TcpdumpUnzip/zlib5 解压工具和操作系统相同版本which UnzipXfsdumpXfs文件系统工具和操作系统相同版本which XfsdumpXfsprogsXfs文件系统工具和操作系统相同版本which xfssprogsed.x86_64Ed编辑器和操作系统相同版本which edjdk-6u43-linux-x64-rpmJdk工具,从Oracle下载安装和操作系
12、统相同版本jdk versionipmi/ipmitool远程管理诊疗工具和操作系统相同版本ipmitool -VGdb程序运行时调试工具和操作系统相同版本which gdbPstack程序运行时调试工具(依靠于gdb)和操作系统相同版本which pstackNmon系统性能监测工具和操作系统相同版本which nmon2.1.2.4 开发语言连接驱动开发语言连接数据库需要特定驱动,现在Greenplum和第三方开发语言连接方法有以下规范: Greenplum自带C/C+开发语言驱动,不需要安装任何驱动。 Greenplum自带JDBC/ODBC连接驱动,开发语言可经过JDBC或ODBC连接
13、数据库,比如 Java开发语言可经过JDBC连接数据库。 对于自带有JDBC/ODBC连接驱动开发语言,可直接经过本身JDBC/ODBC连接数据库 Python及Perl开发语言不能经过JDBC/ODBC连接数据库,需经过DBD连接,则要在安装操作系统完成后独立布署安装。比如LDS及SOR数据库集群开发语言是Perl,则是需要安装以下DBD驱动软件包。postgresql-libs-8.4.11-1.el6_2.x86_64perl-DBI-1.609-4.el6.x86_64perl-DBD-Pg-2.15.1-3.el6.x86_642.1.2.5 时区配置 配置时区要求以下: 选择时区为
14、东八区“亚洲/上海 - 中国东部” Asia/ShanghaiEast China Beijing,Guangdong,Shanghai,etc. 系统时钟不使用UTC2.1.2.6 文件系统和分区配置 因为RAID磁盘组大于2T,提议采取parted分区,不采取LVM进行管理。 Greenplum官方推荐最适合文件系统是XFS,其它文件系统类型标准上不推荐; 挂载点大小文件系统类型说明/400Gext4安装操作系统和应用软件/boot200Mext4linux开启目录无192Gswap系统交换空间/data12.8Txfshadoop数据目录/data22.6Txfshadoop数据目录2.
15、1.2.7 网卡配置每台服务器采取2网卡绑定方法提升网络带宽(需要交换机支持),网卡绑定参考以下过程:1.停止NetworkManager服务service NetworkManager stopchkconfig NetworkManager off2.新建/etc/sysconfig/network-scripts/ifcfg-bond0文件DEVICE=bond0ONBOOT=yesBOOTPROTO=staticIPADDR=NETMASK=GATEWAY=USERCTL=no3.分别修改每块slave网卡设置文件,假设slave网卡为eth0,则按以下内容更改/etc/sysconf
16、ig/network-scripts/ifcfg-eth0文件:DEVICE=eth0ONBOOT=yesBOOTPROTO=noneMASTER=bond0USERCTL=no4.以步骤3方法修改另一块slave网卡配置5.编辑/etc/modprobe.d/bond.conf文件,加入以下内容alias bond0 bondingoptions bond0 miimon=100 mode=46.重启network服务service network restart7.检验网络连通性说明:miimon是用来进行链路监测。 比如:miimon=100,那么系统每100ms监测一次链路连接状态,假
17、如有一条线路不通就转入另一条线路;mode值表示工作模式,共有0,1,2,3,4,5,6七种模式2.2 操作系统参数设置设置类型内容硬盘调度算法elevator=deadline内核参数l 设置方法修改/boot/grub/menu.lst 找到 kernel /vmlinuz-xxx 这一行,在最终添加 elevator=deadline/elevator=deadline transparent_hugepage=nevel 检验/验证方法系统开启正常后,实施 cat /sys/block/*/queue/scheduler应能看到:noop anticipatory deadline c
18、fq 系统运行等级 = 3系统设置l 设置方法在/etc/inittab文件中,将行id:5:initdefault改成:id:3:initdefaultl 检验/验证方法实施 cat /etc/inittab应能看到:id:3:initdefault磁盘预读取block readahead = 16384 (全部硬盘)系统设置l 设置措施修改/etc/rc.d/rc.local 增加两行blockdev -setra 16384 /dev/sd*l 检验措施系统重启后运行blockdev -getra /dev/sd*blockdev -getra /dev/vg0/*应全部是16384语言
19、和字符集language=en_US.UTF-8系统设置l 设置措施系统安装时指定。l 检验措施登录系统,实施命令 locale结果应该是 en_US.UTF-8Sysctl.conf系统设置l 设置措施修改/etc/sysctl.conf,增加以下内容:kernel.shmmax =kernel.shmall =kernel.shmmni = 4096kernel.sem = 250 51 100 2048kernel.sysrq = 1kernel.core_uses_pid = 1kernel.msgmni = 2048net.ipv4.tcp_syncookies = 1net.ipv
20、4.ip_forward = 0net.ipv4.conf.default.accept_source_route = 0net.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 = 2ker
21、nel.core_pattern=/data1/coredump/core.%e.%p.%t.%u.%gnet.ipv4.ip_local_reserved_ports=5432,6432net.ipv4.ip_forward = 0 net.ipv4.conf.default.accept_source_route = 0kernel.core_uses_pid = 1net.ipv4.tcp_syncookies = 1kernel.msgmax = 65536kernel.msgmni = 2048kernel.msgmnb = 65536kernel.shmmax = kernel.s
22、hmmni = 4096kernel.shmall = kernel.sem = 250 51 100 2048kernel.sysrq = 1net.ipv4.tcp_tw_recycle=1net.ipv4.tcp_max_syn_backlog=4096net.ipv4.ip_local_port_range = 1025 65535dev_max_backlog=10000vm.overcommit_memory=2net.ipv4.conf.all.arp_filter = 1注:如需增加连接数,可增加kernel.sem然后实施sysctl -p。l 检验措施用 sysctl ,检
23、验上述各参数是否匹配。用户资源限额系统设置l 设置措施修改 /etc/security/limits.conf增加以下几行:* soft nofile 1048576* hard nofile 1048576* hard nproc 1048576* soft nproc 1048576ulimit -c unlimited# End of file#gpadmin soft nproc 131072#gpadmin hard nproc 131072* soft nofile 1048576* hard nofile 1048576修改 /etc/security/limits.d/90-n
24、proc.conf增加以下几行:* soft nproc 1048576* hard nproc 1048576* soft nofile 1048576* hard nofile 1048576ulimit -c unlimited* soft nproc 1048576* hard nproc 1048576l 检验措施用任意一般用户登录,实施ulimit -a,检验上述参数是否匹配。2.3 操作系统安全配置2.3.1 关闭防火墙和SELinux 在操作系统安装过程中,关闭操作系统自带防火墙。chkconfig iptables offservice iptables stop 关闭SEL
25、inux,设置/etc/selinux/config文件中SELINUX=disabled。2.3.2 关闭无须要服务关闭全部不需要服务,降低这些服务对系统资源占用。部分 LINUX 服务信息以下:系统服务名称进程摘要提议abrt-ccppC/C+程序问题搜集工具关闭AbrtdAutomatic Bug Reporting Tool关闭abrt-oops内核严重异常信息搜集工具关闭AcpidACPID事件监听和分发进程关闭Atd定时任务进程关闭Auditd系统审计进程关闭AutofsAufofs管理进程关闭avahi-daemon当地网络服务查找关闭Bluetooth蓝牙协议守护进程关闭Cer
26、tmonger认证期限监控关闭CpuspeedCpu速率调整进程关闭Crond定时任务进程打开CupsCups打印机进程关闭Firstboot系统首次开启时配置关闭Haldaemon硬件信息维护和管理进程关闭ip6tablesipv6包过滤软件防火墙进程关闭Iptables包过滤软件防火墙进程关闭Irqbalance中止平衡进程打开lvm2-monitorlvm mirror监控进程关闭Mdmonitor软RAID监控进程关闭MessagebusDBUS消息总线进程关闭Netfs网络文件系统进程关闭Network网络进程打开NetworkManager网络自动管理进程关闭NfslockNfs锁
27、机制进程关闭PortreserveRPC服务相关关闭Postfix电子邮件服务关闭Rhnsd操作系统自动更新进程关闭Rhsmcertd在线更新订阅状态信息关闭RpcbindRPC服务相关关闭Rpcgssd针对nfsv4用户端管理 RPCSEC GSS contexts进程关闭RpcidmapdRPC名字和UID/GID映射进程关闭Rsyslog系统日志进程打开Sshd系统日志进程打开Sysstat系统统计信息进程打开udev-post设备管理系统关闭Ipmi远程诊疗打开2.3.3 严禁不用用户登录系统生成默认用户,如 ftp、nobody、lp 等,默认情况下这些用户不可登录系统。2.3.4
28、配置 security 参数序号参数参数名称default提议值调整标准及注释1Umaskumaskumask = 022umask = 022增强安全性2TMOUT登录shell超时设置未设置编辑/etc/profile文件TMOUT=120export TMOUT增强安全性2.4 操作系统用户组和用户 创建用户组及用户 groupadd gpmon useradd -g gpmon gpmon组GID用户UID主目录说明Gpadmin3030gpadmin3030/home/gpadminGp系统用户Gpmon3040gpmon3040/home/gpmonGp监控用户 设置用户初始密码G
29、padmin用户密码为xxxxGpmon用户密码为xxxx2.5 网络配置根据数据仓库系统集群IP 对应关系,配置全部节点/etc/hosts文件,要求将全部节点IP、服务器别名及服务器名全部编辑到/etc/hosts文件,具体内容以下:10.180.212.64jxgpmaster0110.180.212.65jxgpmaster0210.180.212.70jxgpseg0510.180.212.71jxgpseg0610.180.212.72jxgpseg0710.180.212.73jxgpseg0810.180.212.74jxgpseg0910.180.212.75jxgpseg1
30、010.180.212.76jxgpseg1110.180.212.77jxgpseg1210.180.212.78jxgpseg1310.180.212.79jxgpseg1410.180.212.80jxgpseg1510.180.212.81jxgpseg1610.180.212.82jxgpseg172.6 集群NTP服务时钟同时配置集群NTP服务配置要求:选定时间同时服务器节点,然后编辑/etc/ntp.conf,输入时间同时服务器节点IP地址。开启ntpd服务service ntpd restartchkconfig ntod onn 验证集群NTP服务配置合规性:实施命令:Ser
31、vice ntpd status实施结果:Ntpd (pid 5091) is running3 数据库系统安装配置3.1 Greenplum软件安装3.1.1 软件及相关工具清单 Greenplum软件greenplum-db-4.3.2.0greenplum-cc-web-1.2.0.1-build-23.1.2 关闭不需要服务(全部节点)3.1.2.1 防火墙用以下命令关闭防火墙service iptables saveservice iptables stopchkconfig iptables offservice ip6tables saveservice ip6tables st
32、opchkconfig ip6tables off3.1.2.2 其它需要关闭服务chkconfig avahi-daemon offchkconfig avahi-dnsconfd offchkconfig conman offchkconfig bluetooth offchkconfig cpuspeed offchkconfig setroubleshoot offchkconfig hidd offchkconfig hplip offchkconfig isdn offchkconfig kudzu offchkconfig yum-updatesd off3.1.3 开启IPMI
33、服务(全部节点)(IPMI(Intelligent Platform Management Interface)即智能平台管理接口是使硬件管理含有“智能化”新一代通用接口标准。假如没有安装相关服务,提议安装),实施以下命令:service ipmi start chkconfig ipmi on3.1.4 Master节点安装和多机信任3.1.4.1 软件安装 软件安装目录:/usr/local/ 在Master节点上,以root用户实施,根据提醒进行安装。cd /usr/localtar zxvf /greenplum-db-4.3.2.0.tar.gz 创建符号链接greenplum-db
34、指向Greenplum安装目录,3.1.4.2 修改root用户环境变量配置 修改root用户home/.bashrc配置文件,增加source /usr/local/greenplum-db/greenplum_path.sh3.1.4.3 root用户建立多机信任使用root用户在Master主机上操作:gpssh-exkeys -f ./all-nodes(全部节点主机名) 验证配置:选择某个节点,从master经过ssh命令连接,不输入任何密码。 检验结果:可正常连接被信任节点。3.1.4.4 Greenplum节点数据目录在对应节点按以下表数据目录规则创建目录,并授予gpadmin用
35、户全部操作权限。节点数据目录目录属主权限目录用途验证方法Master/Standby Master/data1/mastergpadmin全部节点数据目录ls -lr /data1/masterSegment/data1/primary/data2/primarygpadmin全部节点数据目录ls -lr /data1/primary /data2/primarySegment/data1/mirror/data2/mirrorgpadmin全部节点数据目录ls lr /data1/ mirror /data2/mirror3.1.4.5 修改gpadmin用户环境变更配置【Master和St
36、andby Master主机】:修改 /.bashrc文件,添加以下内容:source /usr/local/greenplum-db/greenplum_path.shMASTER_DATA_DIRECTORY=/u01/master/gpseg-1export MASTER_DATA_DIRECTORY (gpstart默认开启目录)【Segment主机】:修改 /.bashrc文件,添加以下内容:source /usr/local/greenplum-db/greenplum_path.sh3.1.4.6 gpadmin用户建立多机信任使用gpadmin用户在Master主机上操作:gp
37、ssh-exkeys -f ./all-nodes(全部节点主机名) 验证配置:选择某个节点,从master经过ssh命令连接,不输入任何密码。 检验结果:可正常连接被信任节点。3.1.5 其它节点安装3.1.5.1 Segment 节点上安装在Master节点上,以root用户身份,实施以下命令:. /usr/local/greenplum-db /greenplum_path.shgpseginstall -f ./stby_all_segs(全部segment数据节点及standby master管理节点主机名)3.2 数据库初始化在Master节点上以gpadmin用户身份完成以下各小
38、节安装。3.2.1 数据库初始化配置文件l 创建文件 gpinitsystem_config 内容以下:ARRAY_NAME=EMC Greenplum DWSEG_PREFIX=gpsegPORT_BASE=40000declare -a DATA_DIRECTORY=(/data1/primary /data2/primary /data1/primary /data2/primary /data1/primary /data2/primary /data1/primary /data2/primary)MASTER_HOSTNAME=mdwMASTER_DIRECTORY=/data1/
39、masterMASTER_PORT=5432TRUSTED_SHELL=sshCHECK_POINT_SEGMENTS=8ENCODING=UNICODEMIRROR_PORT_BASE=50000REPLICATION_PORT_BASE=41000MIRROR_REPLICATION_PORT_BASE=51000declare -a MIRROR_DATA_DIRECTORY=(/data1/mirror /data2/mirror /data1/mirror /data2/mirror /data1/mirror /data2/mirror /data1/mirror /data2/m
40、irror)3.2.2 初始化数据库l 实施命令gpinitsystem -c ./gpinitsystem_config -h hosts-nodes(全部数据节点主机名)按提醒操作。l 修改 /.bashrc 文件,增加一行:export MASTER_DATA_DIRECTORY=/data/master/gpseg-1l 退出系统并重新以gpadmin登陆3.2.3 建立冗余Master节点l 实施命令gpinitstandby -s jxgpmaster02按提醒操作。4 数据库参数Greenplum数据库参数影响系统运行性能状态,合理设置数据库参数可让系统运行达成最优状态。在多数数
41、据库系统中,全部会有一个配置文件用以配置数据库参数。在GPDB中,该配置文件即为postgresql.conf。4.1 数据库参数设置 初始化数据库后,依据下表设置参数,通常下表中没有注明参数一律使用默认值,不得修改。 调整方法:实施命令 gpconfig -c 参数名 -v 参数值 -m Master节点值 检验方法:重启数据库后,实施命令 gpconfig -s 参数名参数名参数值Master节点值gp_backup_directIOoffoffgp_backup_directIO_read_chunk_mb2020log_statementallallcheckpoint_segment
42、s3232max_connections1000400max_prepared_transactions400400gp_fts_probe_timeout600s600smax_fsm_pages3030max_fsm_relations1900019000max_stack_depth4MB4MBgp_workfile_compress_algorithmzlibzlibmax_appendonly_tables5000050000gp_fts_probe_interval10min10mingp_external_max_segs1616gp_autostats_modeon_chang
43、eon_changegp_filerep_tcp_keepalives_count66gp_filerep_tcp_keepalives_interval45s45sgp_vmem_protect_limit3276832768gp_segment_connect_timeout10min10minwal_send_client_timeout30s300sstatement_mem128MB128MBgp_enable_gpperfmononongpperfmon_port88888888gp_external_enable_execononlog_min_duration_statement3000030000statement_timeout00gp_interconnect_typeUDPIFCUDPIFCgp_analyze_relative_error0