####################################
##########在每台服务器上执行########
####################################
mkdir /data/
mkdir /data/gp_data
# 创建用户和组gpadmin
groupadd -g 3030 gpadmin #创建用户组
useradd -u 3030 gpadmin -g gpadmin -d /data/gpadmin #创建用户,并指定路径
passwd gpadmin #创建用户密码
# 配置内核参数,添加如下内容:
vi /etc/sysctl.conf
#By greenplum
kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
kernel.sem = 250 512000 100 2048
kernel.sysrq = 1
kernel.core_uses_pid = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.msgmni = 2048
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.ip_local_port_range = 1025 65535
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.overcommit_memory = 2
# 以上参数可以根据自己系统配置做适当修改
# 手工执行命令,让参数生效
sysctl -p
# 在limits.conf文件中添加如下配置
vi /etc/security/limits.conf
# End of file
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
# 修改/etc/hosts文件
vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.3.160 mdw mdw-1
10.1.11.160 mdw-2
172.16.3.161 sdw1 sdw1-1
10.1.11.161 sdw1-2
172.16.3.162 sdw2 sdw2-1
10.1.11.162 sdw2-2
172.16.3.163 sdw3 sdw3-1
10.1.11.163 sdw3-2
172.16.3.164 sdw4 sdw4-1
10.1.11.164 sdw4-2
172.16.3.165 sdw5 sdw5-1
10.1.11.165 sdw5-2
172.16.3.166 sdw6 sdw6-1
10.1.11.166 sdw6-2
####################################
##########在master上执行############
####################################
# 创建gp数据存储目录和配置目录
mkdir /data/gpconfig
mkdir /data/master
################在每台服务器上执行################
# 授权/data 目录给gpadmin用户
chown -R gpadmin:gpadmin /data/
# 修改对应服务器名字
vi /etc/sysconfig/network
# master
NETWORKING=yes
HOSTNAME=mdw
# segment1
NETWORKING=yes
HOSTNAME=sdw1
# segment2
NETWORKING=yes
HOSTNAME=sdw2
# segment3
NETWORKING=yes
HOSTNAME=sdw3
# segment4
NETWORKING=yes
HOSTNAME=sdw4
# segment5
NETWORKING=yes
HOSTNAME=sdw5
# segment6
NETWORKING=yes
HOSTNAME=sdw6
# 如果有问题,在对应服务器上,使用以下命令
hostnamectl set-hostname mdw
hostnamectl set-hostname sdw1
hostnamectl set-hostname sdw2
hostnamectl set-hostname sdw3
hostnamectl set-hostname sdw4
hostnamectl set-hostname sdw5
hostnamectl set-hostname sdw6
# 关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
注意,centos 6用以下命令:
chkconfig iptables off
# 重启所有master和segment服务器
################结束################
# 在master ,segment 解压缩gp安装文件
cd /usr/local
unzip greenplum-db-4.3.5.3-build-2-RHEL5-x86_64.zip
# 如果没有安装zip
yum install -y unzip zip
# 在master ,segment 上安装gp
/usr/local/greenplum-db-4.3.5.3-build-2-RHEL5-x86_64.bin
# 根据自己的环境,按提示输入yes或no
# 查看是否安装成功
ll /usr/local/
# 在master ,segment给实例目录授权
chown -R gpadmin:gpadmin /usr/local/greenplum*
# 在master上修改gpadmin用户环境配置,同步到其他segment服务器
su - gpadmin
vi .bash_profile
source /usr/local/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/data/master/gpseg-1
export PGPORT=5432
scp .bash_profile sdw1:/data/gpadmin/
scp .bash_profile sdw2:/data/gpadmin/
scp .bash_profile sdw3:/data/gpadmin/
scp .bash_profile sdw4:/data/gpadmin/
scp .bash_profile sdw5:/data/gpadmin/
scp .bash_profile sdw6:/data/gpadmin/
#在每台服务器上执行以下命令
su - gpadmin
source .bash_profile
# 重启所有服务器
####################################
##########在master上执行############
####################################
# 创建gp_ssh密匙配置文件,对应/etc/hosts文件中的host配置
vi /data/gpconfig/hostfile_exkeys
mdw
mdw-1
mdw-2
sdw1
sdw1-1
sdw1-2
sdw2
sdw2-1
sdw2-2
sdw3
sdw3-1
sdw3-2
sdw4
sdw4-1
sdw4-2
sdw5
sdw5-1
sdw5-2
sdw6
sdw6-1
sdw6-2
# 配置密匙
su - gpadmin
gpssh-exkeys -f /data/gpconfig/hostfile_exkeys
# 如果报错,在对应报错服务器上开启以下配置
vi /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# 创建服务器名配置文件
vi /data/gpconfig/hostfile_gpssh_allhosts
mdw
sdw1
sdw2
sdw3
sdw4
sdw5
sdw6
# 创建gp每个segment上的数据和镜像路径
su - gpadmin
gpssh -f /data/gpconfig/hostfile_gpssh_allhosts
ls /data/gp_data/
mkdir /data/gp_data/data
mkdir /data/gp_data/data1
mkdir /data/gp_data/data/primary
mkdir /data/gp_data/data/mirror
mkdir /data/gp_data/data1/primary
mkdir /data/gp_data/data1/mirror
# 初始化系统
# 编辑系统初始化的参数文件,这个文件的编辑可以使用模版,模板文件所在目录如下
cat /usr/local/greenplum-db/docs/cli_help/gpconfigs/gpinitsystem_config>/data/gpconfig/gpinitsystem_config
# 编辑初始化配置文件
vi /data/gpconfig/gpinitsystem_config
ARRAY_NAME="UEB DW"
# 节点实例名前缀
SEG_PREFIX=gpseg
# 端口号
PORT_BASE=21000
# 数据路径,如果每个segment上配置多个实例,需要写多个路径
declare -a DATA_DIRECTORY=(/data/gp_data/data/primary /data/gp_data/data/primary /data/gp_data/data/primary /data/gp_data/data/primary /data/gp_data/data1/primary /data/gp_data/data1/primary /data/gp_data/data1/primary /data/gp_data/data1/primary)
# master 存储的服务器名
MASTER_HOSTNAME=mdw
# master 实例数据库路径
MASTER_DIRECTORY=/data/master
# master 实例的端口号
MASTER_PORT=5432
TRUSTED_SHELL=ssh
CHECK_POINT_SEGMENTS=8
ENCODING=UNICODE
# 镜像相关的端口号
MIRROR_PORT_BASE=10000
REPLICATION_PORT_BASE=11000
MIRROR_REPLICATION_PORT_BASE=41000
# 镜像路径,如果每个segment上配置多个实例并对应多个镜像,需要写多个路径
declare -a MIRROR_DATA_DIRECTORY=(/data/gp_data/data/mirror /data/gp_data/data/mirror /data/gp_data/data/mirror /data/gp_data/data/mirror /data/gp_data/data1/mirror /data/gp_data/data1/mirror /data/gp_data/data1/mirror /data/gp_data/data1/mirror)
# 初始化数据库名
DATABASE_NAME=UEB
# 初始化前需要在master,segment上安装依赖包
yum install -y ed
# 配置所有segment服务器目录
vi /data/gpconfig/seg_hosts_file
sdw1
sdw2
sdw3
sdw4
sdw5
sdw6
# 安装集群
gpinitsystem -c /data/gpconfig/gpinitsystem_config -h /data/gpconfig/seg_hosts_file
################### 错误 ######################
# Found indication of postmaster process on port 5432 on Master host Script Exiting
rm -f /tmp/.s.PGSQL.5432
rm -f /tmp/.s.PGSQL.5432.lock
# 重新执行
gpinitsystem -c /data/gpconfig/gpinitsystem_config -h /data/gpconfig/seg_hosts_file