Greenplum集群部署安装指南

目录

一.官方安装链接

二.Greemplum安装文件下载

三.数据库安装步骤

1.准备工作

(1)修改hostname

(2)关闭SELinux

(3)关闭防火墙

(4)配置/etc/hosts 

(5)修改内核配置参数

(6)配置资源限制参数

(7)磁盘I/O设置

(8)IPC Object Removal

(9)SSH连接阈值

(10)同步系统时钟

(11)创建用户和用户组

(12)创建swap文件

2.安装Greenplum

(1)安装gpdb

(2)设置免密登录

(3)上创建hostlist、standby_seg_hosts、seg_only

(4)使用gpssh-exkeys打通所有服务器

(5)确认安装

3.创建数据存储区

(1)在master机器上创建数据存储区

(2)在stand by机器上创建数据存储区

(3)在segment机器上创建数据存储区

4.初始化数据库

(1)创建初始化配置文件

(2)执行安装

(3)配置环境变量

(4)允许客户端连接

四.Command Center安装步骤

1.准备工作

(1)修改配置文件

(2)安装gpperfmon数据库,以及为gpmon用户创建密码

(3)创建安装目录

2.安装Greenplum CC


一.官方安装链接

Greenplum

Configuring Your Systems | Pivotal Greenplum Docs

Greenplun Command Center

Installing and Upgrading Pivotal Greenplum Command Center | Tanzu™ Greenplum GPCC Docs

二.Greemplum安装文件下载

Greenplum - greenplum-db-6.11.1-rhel7-x86_64.rpm

https://download.csdn.net/download/qq_29120661/34674895

Greenplum Command Center - greenplum-cc-web-6.3.0-gp6-rhel7-x86_64.zip

https://download.csdn.net/download/qq_29120661/34675048

三.数据库安装步骤

1.准备工作

(1)修改hostname

命名规则:
主机:mdw
stand by: smdw
sgement:sdw1,sdw2,sdw3...

hostnamectl set-hostname mdw

(2)关闭SELinux

使用下面命令,查看状态

sestatus

如果不是SELinuxstatus: disabled,则需要手动关闭

Shell复制代码

vi /etc/selinux/config
SELINUX=disabled

(3)关闭防火墙

查看防火墙状态
如果是iptables,则执行

service iptables status

关闭防火墙

service iptables stop

永久关闭防火墙

chkconfig iptables off

如果是firewalld,则执行

systemctl status firewalld

关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service

(4)配置/etc/hosts 

每一台都要配置

vim /etc/hosts
    192.168.xxx.1   mdw
    192.168.xxx.2   smdw
    192.168.xxx.3   sdw1
    192.168.xxx.4   sdw2
    192.168.xxx.5   sdw3
    192.168.xxx.6   sdw4

(5)修改内核配置参数

每一台都要配置(如果所有节点配置相同,可以先配置主机,配置好后分发到各个节点中)
执行getconf _PHYS_PAGES获取系统的_PHYS_PAGES
执行getconf PAGE_SIZE获取系统的PAGE_SIZE
vim /etc/sysctl.conf

kernel.shmall = _PHYS_PAGES / 2 ###根据实际情况修改
kernel.shmmax = kernel.shmall * PAGE_SIZE ###根据实际情况修改
kernel.shmmni = 4096
vm.overcommit_memory = 2 
vm.overcommit_ratio = 95

net.ipv4.ip_local_port_range = 10000 65535
kernel.sem = 500 2048000 200 4096
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

###对于内存大于64G的机器,增加下面四个配置
vm.dirty_background_ratio = 0 
vm.dirty_ratio = 0
vm.dirty_background_bytes = 1610612736
vm.dirty_bytes = 4294967296
###################################
###对于内存小于64G的机器,增加下面两个配置
vm.dirty_background_ratio = 3
vm.dirty_ratio = 10
###################################

保存文件后,执行下面命令

awk 'BEGIN {OFMT = "%.0f";} /MemTotal/ {print "vm.min_free_kbytes =", $2 * .03;}' /proc/meminfo >> /etc/sysctl.conf

执行命令使之生效

sysctl -p

(6)配置资源限制参数

每一台都要配置
vim  /etc/security/limits.conf

* soft nofile 524288
* hard nofile 524288
* soft nproc 131072
* hard nproc 131072

(7)磁盘I/O设置

每一台都要配置
先执行

fdisk -l

查看磁盘信息
针对每一块磁盘,执行

/sbin/blockdev --setra 16384 /dev/磁盘名

由于每次重启都需要重新执行上述命令,所以可以将上面的命令添加到/etc/rc.d/rc.local文件中每次开机自动执行
添加后赋予一下权限

chmod +x /etc/rc.d/rc.local

执行下面两条命令以修改磁盘IO调度设置和禁用THP提升性能

grubby --update-kernel=ALL --args="elevator=deadline"
grubby --update-kernel=ALL --args="transparent_hugepage=never"

执行完成后,重启一下系统以生效

(8)IPC Object Removal

每一台都要配置
vim /etc/systemd/logind.conf

RemoveIPC=no

修改完成后重启logind生效

service systemd-logind restart

(9)SSH连接阈值

每一台都要配置
vim /etc/ssh/sshd_config

Max Startups 10:30:200
MaxSessions 200

修改完成后重启sshd生效

service sshd restart

(10)同步系统时钟

每一台都要配置
在mdw上,vim /etc/ntp.conf文件。设置服务器指向数据中心的NTP时间服务器的参数。例如(如果 10.6.220.20 是您的数据中心NTP服务器的IP地址)

在mdw上,vim /etc/ntp.conf

server 10.6.220.20

在smdw上,vim /etc/ntp.conf

server mdw prefer
server 10.6.220.20

在所有的sdw上,vim /etc/ntp.conf

server mdw prefer
server smdw

设置好后,执行下面命令同步ntp(这一步先忽略,安装好gpssh后再执行)

 gpssh -f ./hostlist -v -e 'ntpd'

(11)创建用户和用户组

每一台都要配置

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

输入密码
生成gpadmin的ssh密钥

su gpadmin
ssh-keygen -t rsa -b 4096

一路回车即可
为gpadmin用户授予sudo访问权限
执行visudo

%wheel        ALL=(ALL)       NOPASSWD: ALL

分配gpadmin到此组

usermod -aG wheel gpadmin

(12)创建swap文件

先确认服务器是否存在swap文件或分区,如果已存在,则跳过以下步骤
默认大小等于机器ram大小
每一台都要配置,使用root账户执行

#创建一个128G的空文件
dd if=/dev/zero  of=/home/swap/swap  bs=1G  count=128
修改权限
chmod 600 /home/swap/swap
#查看修改结果
ls -lh /home/swap/swap
#使用mkswap命令把创建的文件格式化为swap
mkswap /home/swap/swap
使用swapon命令使swap生效
swapon /home/swap/swap
#查看是否生效
swapon -s
#将新添加的swap添加到/etc/fstab文件中使之开机启动
echo '/home/swap/swap         none                    swap    sw              0 0' >> /etc/fstab
#验证/etc/fstab文件修改是否正确
mount -a

2.安装Greenplum

(1)安装gpdb

每一台都要配置

将安装包分发至每一台服务器的/home路径下,使用root用户执行

yum install ./greenplum-db-6.11.1-rhel7-x86_64.rpm

安装完成后,修改安装文件的owner

chown -R gpadmin:gpadmin /usr/local/greenplum*

(2)设置免密登录

只在mdw上执行

切换到dbadmin执行下列操作

su gpadmin

应用环境变量

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

使用ssh-copy-id命令将gpadmin公钥分发到其他服务器上实现免密登录

ssh-copy-id smdw
ssh-copy-id sdw1
ssh-copy-id sdw2
ssh-copy-id sdw3
...

(3)上创建hostlist、standby_seg_hosts、seg_only

只在mdw上执行

创建目录/home/gpadmin/conf

在该路径下创建hostlist、standby_seg_hosts、seg_only

hostlist 中填写所有节点的主机别名

mdw
smdw
sdw1
sdw2
...

standby_seg_hosts中填写stand by节点和所有Segment的主机别名

smdw
sdw1
sdw2
...

seg_only中只填写所有Segment的主机别名

sdw1
sdw2
...

(4)使用gpssh-exkeys打通所有服务器

只在mdw上执行

gpssh-exkeys -f hostlist

这样,我们后续就可以通过gpssh命令在主机上同时远程操控segment机器了

注意了,前面有一个同步ntp的命令还没有执行,这个时候可以执行下了(在mdw上执行即可):

 gpssh -f ./hostlist -v -e 'ntpd'

(5)确认安装

在mdw机器上登录gpadmin账户,执行命令

gpssh -f hostlist -e 'ls -l /usr/local/greenplum-db'

如果上面步骤都执行正确,此时能够正确登录到各个节点上,并看到安装好的数据库目录

3.创建数据存储区

(1)在master机器上创建数据存储区

Master不存储user data,仅有system catalog tables和system metadata

在mdw上使用root用户创建

mkdir -p /data/master
chown gpadmin:gpadmin /data/master

(2)在stand by机器上创建数据存储区

如果存在smdw,则在mdw上使用gpadmin用户执行

source /usr/local/greenplum-db/greenplum_path.sh 
gpssh -h smdw -e 'sudo mkdir -p /data/master'
gpssh -h smdw -e 'sudo chown gpadmin:gpadmin /data/master'

(3)在segment机器上创建数据存储区

在mdw上使用gpadmin用户执行

source /usr/local/greenplum-db/greenplum_path.sh 
gpssh -f /home/gpadmin/conf/seg_only -e 'sudo mkdir -p /data/primary;mkdir -p /data/mirror'
#针对一台机器上多segment的部署方式,根据每台机器的segment数量,创建对应的存储目录
gpssh -f /home/gpadmin/conf/seg_only -e 'sudo mkdir -p /data1/primary;mkdir -p /data1/mirror'
gpssh -f /home/gpadmin/conf/seg_only -e 'sudo mkdir -p /data2/primary;mkdir -p /data2/mirror'
#......
gpssh -f /home/gpadmin/conf/seg_only -e 'sudo chown -R gpadmin:gpadmin /data*'

4.初始化数据库

(1)创建初始化配置文件

在mdw上使用gpadmin用户执行

su gpadmin
mkdir /home/gpadmin/gpconfigs
vim /home/gpadmin/gpconfigs/gpinitsystem_config
#数据库代号
ARRAY_NAME="Greenplum Data Platform"

#segment前缀
SEG_PREFIX=gpseg

#primary segment 起始的端口号
PORT_BASE=40000

#指定primary segment的数据目录
declare -a DATA_DIRECTORY=(/data/primary)
#如果每台机器上有多个segment
#declare -a DATA_DIRECTORY=(/data/primary /data1/primary /data2/primary ...)

#master所在机器的host name
MASTER_HOSTNAME=mdw

#master的数据目录
MASTER_DIRECTORY=/data/master

#master的端口
MASTER_PORT=5432

#指定bash的版本
TRUSTED_SHELL=ssh

#将日志写入磁盘的间隔,每个段文件通常 =16MB < 2 * CHECK_POINT_SEGMENTS + 1
CHECK_POINT_SEGMENTS=8

#字符集
ENCODING=UNICODE

#mirror segment 起始的端口号
MIRROR_PORT_BASE=50000

#mirror的数据目录,和主数据目录对应
declare -a MIRROR_DATA_DIRECTORY=(/data/mirror)
#如果每台机器上有多个segment
#declare -a MIRROR_DATA_DIRECTORY=(/data/mirror /data1/mirror /data2/mirror ...)

#segment机器列表
MACHINE_LIST_FILE=/home/gpadmin/conf/seg_only

(2)执行安装

在mdw上使用gpadmin用户执行

如果存在stand by机器,则执行

gpinitsystem -c /home/gpadmin/gpconfigs/gpinitsystem_config -h /home/gpadmin/conf/seg_only -s smdw

如果没有stand by机器,则执行

gpinitsystem -c /home/gpadmin/gpconfigs/gpinitsystem_config -h /home/gpadmin/conf/seg_only

(3)配置环境变量

在mdw上使用gpadmin用户执行

vi ~/.bashrc

在文件尾添加

source /usr/local/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/data/master/gpseg-1
#默认登录使用的端口号
export PGPORT=5432
#默认登录使用的用户
export PGUSER=gpadmin
#默认登录使用的数据库
export PGDATABASE=postgres
#如果服务器使用的系统是RHEL 7或CentOS 7,需要增加下面的配置
export LD_PRELOAD=/lib64/libz.so.1 ps

保存并source一下

source ~/.bashrc

如果存在stand by机器,需将配置文件复制到stand by机器

cd ~
scp .bashrc smdw:`pwd`

(4)允许客户端连接

在mdw上使用gpadmin用户执行

psql

如果前面的配置正确,则会免密登录到Greenplum数据库

修改一下gpadmin的密码

alter role gpadmin with password 'gpadmin';

退出数据库,在mdw机器上使用gpadmin用户执行

vim $MASTER_DATA_DIRECTORY/pg_hba.conf

末尾添加一行

#ADDRESS可以根据实际情况修改成对应的ip段
#连接方式 连接的数据库 连接的用户  连接的主机IP  认证方式
host     all       gpadmin    all         md5

执行命令使配置生效

gpstop -u

可以使用外部客户端工具或开发平台数据源测试是否配置成功。

四.Command Center安装步骤

1.准备工作

(1)修改配置文件

在mdw上使用gpadmin用户执行

编辑postgresql.conf文件

vim $MASTER_DATA_DIRECTORY/postgresql.conf

文件末尾添加或修改

gp_enable_gpperfmon=on
gpperfmon_port=8888
gp_external_enable_exec=on
gpperfmon_log_alert_level=warning

编辑pg_hba.conf文件

vim $MASTER_DATA_DIRECTORY/pg_hba.conf

文件末尾添加

local    gpperfmon         gpmon         md5
host     all               gpmon         127.0.0.1/28    md5

(2)安装gpperfmon数据库,以及为gpmon用户创建密码

在mdw上使用gpadmin用户执行

gpperfmon_install --enable --password gpmon --port 5432

重启数据库

gpstop -r

检查gp监控是否启动

ps -ef | grep gpmmon

检查gp监控是否监测到greenplum集群中的每台主机

psql -d 'gpperfmon' -c 'select * from system_now;'

(3)创建安装目录

在mdw上使用gpadmin用户执行

source /usr/local/greenplum-db/greenplum_path.sh
gpssh -f /home/gpadmin/conf/hostlist 'sudo mkdir -p /usr/local/greenplum-cc-6.3.0;sudo chown -R gpadmin:gpadmin /usr/local/greenplum-cc-6.3.0'
gpssh -f /home/gpadmin/conf/hostlist 'sudo ln -s /usr/local/greenplum-cc-6.3.0 /usr/local/greenplum-cc;sudo chown -R gpadmin:gpadmin /usr/local/greenplum-cc'

2.安装Greenplum CC

在mdw上使用root用户执行

将文件上传到/home目录下并解压缩,修改owner

unzip /home/greenplum-cc-web-6.3.0-gp6-rhel7-x86_64.zip
mv /home/greenplum-cc-web-6.3.0-gp6-rhel7-x86_64 /home/greenplum-cc
chown -R gpadmin:gpadmin /home/greenplum-cc

切换到gpadmin用户执行安装命令

su gpadmin
/home/greenplum-cc/gpccinstall-6.3.0

执行安装过程中会提示安装路径、端口等,如无特殊要求推荐使用默认设置

安装完成后,配置环境变量

vi ~/.bashrc

末尾增加一行

source /usr/local/greenplum-cc/gpcc_path.sh

保存并source一下

source ~/.bashrc

将gpadmin下的.bashrc文件以gpadmin用户的身份分配到除master之外的机器上

gpscp -f /home/gpadmin/conf/standby_seg_hosts ~/.bashrc =:~

执行命令启动监控服务

gpcc start

如果存在stand by机器

登录到smdw上,将主机的pgpass文件拷贝过来

安装完成后,便可以登录http://mdwIP:28080查看监控了,2账户为gpmon,密码为四-1-(2)章节中预设的密码。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值