Greenplum是一套基于postgresql数据库的典型MPP(大规模并行处理系统)集群数据库,整个GP环境中包含几个部分:
1. Master:建立与客户端的连接和管理,生产SQL查询计划,执行计划向segment的分发收集执行结果。Master本身不负责数据存储,只存储数据字典。
2. Segment:业务数据的存取,用户SQL的执行。
3. Master高可用,使用节点standby的方式。
4. Segment高可用,使用磁盘镜像的方式。
一、 准备
1. 软件:以下软件为确认可用的版本
1) 对于数据库版本和操作系统版本已经验证的有两个组合
a) 操作系统:Red Hat Enterprise Linux Server 6.2 64bit.
数据库:greenplum-db-4.3.8.2-build-1-RHEL5-x86_64.zip
b) 操作系统:CentOS-6.8-x86_64-bin-DVD1.
数据库:greenplum-db-5.2.0-rhel6-x86_64.zip.zip
2) 辅助工具:Xshell,winscp等。
准备三台虚拟机 node-01,node-02,node-03
2. 操作系统环境:
由于是集群数据库,所以要准备多台服务器,并且每台服务器均按如下方法进行配置:
\i. root修改内核
修改vi /etc/sysctl.conf
# Controls IP packet forwarding
net.ipv4.ip_forward = 0
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Do not accept source routing
net.ipv4.conf.default.accept_source_route =0
# Controls the System Request debuggingfunctionality of the kernel
kernel.sysrq = 1
# Controls whether core dumps will appendthe PID to the core filename.
# Useful for debugging multi-threadedapplications.
kernel.core_uses_pid = 1
# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1
# Disable netfilter on bridges
#net.bridge.bridge-nf-call-ip6tables = 0
#net.bridge.bridge-nf-call-iptables = 0
#net.bridge.bridge-nf-call-arptables = 0
# Controls the default maxmimum size of amesage queue
kernel.msgmnb = 65536
# Controls the maximum size of a message,in bytes
kernel.msgmax = 65536
kernel.msgmni = 2048
kernel.sem = 250 512000 100 2048
# Controls the maximum shared segment size,in bytes
#kernel.shmmax = 68719476736
kernel.shmmax = 500000000 --共享内存段最大值
kernel.shmmni = 4096 --共享内存段最大值
# Controls the maximum number of sharedmemory segments, in pages
#kernel.shmall = 4294967296