CentOS6 安装Greenplum

官方安装文档

节点规划

# 三台机
master  主节点
node1   segment 节点
node2   segment 节点

环境配置

配置主机名与host映射(此步省略)

关闭防火墙(此步省略)

依次修改三个节点 /etc/sysctl.conf

# kernel.shmall = _PHYS_PAGES / 2 # See Note 1
kernel.shmall = 4000000000
# kernel.shmmax = kernel.shmall * PAGE_SIZE # See Note 1
kernel.shmmax = 500000000
kernel.shmmni = 4096
vm.overcommit_memory = 2
vm.overcommit_ratio = 95 # See Note 2
net.ipv4.ip_local_port_range = 10000 65535 # See Note 3
kernel.sem = 500 2048000 200 40960
kernel.sysrq = 1
kernel.core_uses_pid = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.msgmni = 2048
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.all.arp_filter = 1
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.swappiness = 10
vm.zone_reclaim_mode = 0
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
vm.dirty_background_ratio = 0 # See Note 5
vm.dirty_ratio = 0
vm.dirty_background_bytes = 1610612736
vm.dirty_bytes = 4294967296
sysctl -p

安装

下载安装包

curl https://github.com/greenplum-db/gpdb/releases/download/6.0.1/greenplum-db-6.0.1-rhel6-x86_64.rpm

安装RPM包

rpm -ivh greenplum-db-6.0.1-rhel6-x86_64.rpm

配置环境变量

vim /etc/profile

GPHOME=/usr/local/greenplum-db
EXPORT path="$GPHOME/bin:$PATH"

source /etc/profile

vim /usr/local/greenplum-db/greenplum_path.sh

# 修改 GPHOME
GPHOME=$GPHOME

配置节点文件

cd /usr/local/greenplum-db

vi hostfile_exkeys

# 包含Master和Segment
master
node1
node2


vi hostfile_segments

# 只包含Segment
node1
node2

Master节点添加gpadmin账户

groupadd gpadmin
useradd gpadmin -r -m -g gpadmin
passwd gpadmin


chown -R gpadmin:gpadmin /usr/local/greenplum-db-6.0.1
chown -R gpadmin:gpadmin /usr/local/greenplum-db

打通各节点 用户 gpadmin SSH登录

# 用 gpadmin 用户登录master节点执行

# 此步骤一定不能省略,如省略会报错(unable to import module: no module named gppylib.commands)
source /usr/local/greenplum-db/greenplum_path.sh
gpssh-exkeys -f hostfile_exkeys

安装后检查

gpssh -f hostfile_exkeys -v -e 'ntpd'

配置数据库

# 切换到 gpadmin用户
su - gpadmin

# 以gpinitsystem_config文件为模板
cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config ./gpinit_config

# 配置gpinit_config
vi gpinit_config

# 修改如下配置,每个segment上1个数据文件夹,没有配置镜像
declare -a DATA_DIRECTORY=(/data/gpdata/primary)
MASTER_DIRECTORY=/data/gpdata/gpmaster
ENCODING=UTF8

# 初始化
gpinitsystem -c gpinit_config -h hostfile_segments

查看集群状态

gpstate -d /data/gpdata/gpmaster/gpseg-1

登录

本地登录

#用pgadmin用户登录

psql -d postgres

\l

# 创建用户
CREATE USER test1 WITH PASSWORD 'test1' NOSUPERUSER;

远程登录

cd /data/gpdata/gpmaster/gpseg-1

vim pg_hba.config

# 添加远程访问允许
host    all     test1     all     md5

# 执行命令重新加载访问列表
pg_ctl reload -D /data/gpdata/gpmaster/gpseg-1

# 用DBeaver 或 Greenplum 客户端工具登录

#命令行远程登录
psql -U userName -h hostName dbName