greenplum集群部署安装(初学者指南)

说明

此文详细记载了本人学习安装greenplum集群每一步的详细细节,适用于初学者学习。按步骤走完每一步后,用navicat能连接到及安装成功。分享出来望能与大家共同学习,有不足或错误之处还望指正。

本人安装虚拟机用的是VMware,远程连接虚拟机用的是Xshell。文章主要讲述虚拟机集群的步骤。

一、Linux系统安装

1.1软件环境

Green plum5.10.0
Linux系统版本centos7

1.2系统安装

安装系统步骤略。
(VM装机,固定虚拟机ip。本文主要讲述greenplum集群,这两部就不做赘述,不会的可以自行百度)
固定ip可以参考此文:https://blog.csdn.net/qq_42778289/article/details/101286328

1.3需要的成果

<1> 三台虚拟机(一台master,两台节点)
<2> 固定ip本机可以ping通虚拟机,并使用Xshell连接

二、系统参数配置

2.1禁用SELinux(三台机器都要)

查看状态:sestatus
禁止:vim /etc/selinux/config,编辑内容:SELINUX=disabled

2.2内核参数配置(三台都要)

 vim /etc/sysctl.conf

kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
kernel.sem = 500 1024000 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_tw_recycle = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.all.arp_filter = 1
net.ipv4.ip_local_port_range = 10000 65535
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.overcommit_memory = 2

2.3修改文件打开限制(三台都要)

vim /etc/security/limits.conf

* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072

2.4 设置最大进程

vim /etc/security/limits.d/20-nproc.conf
	
*	 				soft		nproc	4096
root	 			soft		nproc	unlimited
gpadmin	 	soft		nproc	unlimited

2.5 修改磁盘预读量(所有机器)

1、查看预读量:blockdev --getra /dev/devname //devname指磁盘名,例sd*
2、设置预读量:blockdev --setra 16384 /dev/devname
将命令写入文件并给执行权限chmod +x /etc/rc.d/rc.local //启动执行

2.6 修改调度(所有机器)

1、 修改调度:echo deadline> /sys/block/devname/queue/scheduler
//devname指数据磁盘,根据实际情况指定
2、 指定调度程序:grubby --update-kernel=ALL --args=“elevator=deadline”
添加参数后,重启系统。查看内核参数设置:grubby --info=ALL
3、禁用THP:grubby --update-kernel=ALL --args=“transparent_hugepage=never”
添加参数后,重启系统。检查THP状态:
cat /sys/kernel/mm/*transparent_hugepage/enabled

2.7 修改挂载信息文件(所有机器)

1、 修改挂载文件信息:vim /etc/fstab,xfs是Linux上数据存储的首选文件系统。
在这里插入图片描述
将xfs后的default替换为内容:nodev,noatime,nobarrier,inode

2.8 禁止IPC对象删除(所有机器)

1、 设置参数:vim /etc/systemd/logind.conf
RemoveIPC=no
2、 重启服务:service system-logind restart

2.9 修改ssh连接阈值(所有机器)

1、修改/etc/sshd_config或者/etc/ssh/sshd_config
MaxStartups=200 //根据实际情况修改
2、 重启服务:service sshd restart

2.10 时间同步

1、 所有机器
systemctl start ntpd
systemctl enable ntpd
2、 master主机
vim /etc/ntp.conf
server参数指向数据中心的NTP时间服务器,例如:server 192.168.9.1
3、 备份机器
server mdw prefer
server 192.168.9.1
4、 数据节点
server mdw prefer
server mdw-s

三、 Greenplum集群安装

3.1 修改主机名(所有机器)

1、Master主机命名,输入命令:hostnamectl set-hostname,输入主机名:mdw。
依次在数据节点执行命令,输入新的主机名:sdw1、sdw2……
2、重新连接后生效。

3.2 关闭防火墙(所有机器)

1、 关闭防火墙:systemctl stop firewalld.service
2、 禁止开机开启:systemctl disabled firewalld.service

3.3 Hosts配置(所有机器)

vim /etc/hosts

192.168.9.18      mdw
192.168.9.19      mdw-s
192.168.9.145     sdw1
192.168.9.144     sdw2
192.168.9.143	  sdw3

3.4 Gpadmin账户创建(master节点)

[root@mdw ~]# groupadd -g 530 gpadmin
[root@mdw ~]# useradd -g 530 -u530 -m -d /home/gpadmin -s /bin/bash gpadmin
[root@mdw ~]# passwd gpadmin
Changing password for user gpadmin.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

3.5 greenplum安装(master节点)

1、创建安装文件目录(每台机器都需要)

mkdir /data/greenplum

chown -R gpadmin:gpadmin /data/greenplum

2、下载安装包
官网地址: https://network.pivotal.io/products/pivotal-gpdb
注意:下载安装包之前,需要在官网注册账号,方可下载。
3、上传Greenplum的安装文件greenplum-db-5.10.0-rhel7-x86_64.zip并解压缩,该步骤在master上执行。

unzip ./ greenplum-db-5.10.0-rhel7-x86_64.zip

4、在root用户下,将下载的文件放在CentOS系统中自己能找到的位置即可,给该文件赋予可执行权限,之后执行该文件,即开始安装,该步骤在master上执行。

 chmod +x greenplum-db-5.10.0-rhel7-x86_64.bin
./ greenplum-db-5.10.0-rhel7-x86_64.bin

5、期间需要修改默认安装目录,输入 /data/greenplum/greenplum-db-5.10.0之后即可安装成功,此时master上的Greenplum安装成功了。但是之前我们都是以root身份安装的,所以要将安装目录下的文件的所有者,都修改为gpadmin。

chown -R gpadmin:gpadmin /data/greenplum

因为只在master上安装了Greenplum,所以接下来要将安装包批量发送到每个segment上,才能算是整个集群完整安装了Greenplum。后面的操作都是为了连接所有节点,并将安装包发送到每个节点。

3.6 创建节点的配置文件(master节点)

1、 创建所有节点的配置文件

[root@gpm ~]#  su gpadmin
[gpadmin@gpm ~]#  cd /data/greenplum
[gpadmin@gpm greemplum]#  mkdir conf
[gpadmin@gpm greemplum]#  cd conf
[gpadmin@gpm conf]# vim hostlist
mdw
mdw-s
sdw1
sdw2
sdw3

2、 创建所有数据节点的配置文件

[gpadmin@gpm conf]#  vim seg_hosts
sdw1
sdw2
sdw3

3.7 打通所有节点(master)

greenplum_path.sh中保存了运行Greenplum的一些环境变量设置,包括GPHOOME、PYTHONHOME等设置。
注意执行gpssh-exkeys 命令时需要使用gpadmin账户。

[gpadmin@gpm ~]$ source /data/greenplum/greenplum-db/greenplum_path.sh
[gpadmin@gpm ~]$ gpssh-exkeys -f /data/gpadmin/conf/hostlist

[STEP 1 of 5] create local ID and authorize on local host
... /home/gpadmin/.ssh/id_rsa file exists ... key generation skipped
[STEP 2 of 5] keyscan all hosts and update known_hosts file
[STEP 3 of 5] authorize current user on remote hosts
... send to sdw1
... send to sdw2
... send to sdw3
[STEP 4 of 5] determine common authentication file content
[STEP 5 of 5] copy authentication files to all remote hosts
... finished key exchange with sdw1
... finished key exchange with sdw2
... finished key exchange with sdw3
[INFO] completed successfully

注意:

<1> 首次执行gpssh-exkeys命令时,在[STEP 3 of 5],要输入每个segment节点的gpadmin用户的密码。
<2> gpssh-exkeys命令使用的时候一定要用gpadmin身份,因为这个命令会生成ssh的免密码登录的秘钥,在/home/gpadmin/.ssh这里。如果以root身份使用gpssh-exkeys命令,那么生成的.ssh秘钥在root的home下面或者是在/home/gpadmin下面但是是root的所
有者,如果之后使用gpadmin身份执行相应操作的时候就没有权限。
<3> 如果你是以root安装的将已安装文件的所有权和组更改为gpadmin:

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

3.8 节点安装

1、拷贝master节点公钥至各节点:gpssh-exkeys -f /data/Greenplum/conf/hostlist
2、无密码登录安装:gpseginstall -f /data/Greenplum/conf/hostlist

3.9 创建数据目录

1、在mdw上创建gpmaster目录

cd /data/greenplum/gpdata
mkdir gpmaster

2、在每一个数据节点中创建数据目录

[gpadmin@gpm conf]$ gpssh -f seg_hosts
=> cd /gpdata/disk1
[sdw1]
[sdw2]
[sdw3]
=> mkdir primary mirror
[sdw1]
[sdw2]
[sdw3]
=> cd /gpdata/disk2
[sdw1]
[sdw2]
[sdw3]
=> mkdir primary mirror
[sdw1]
[sdw2]
[sdw3]
=> cd /gpdata/disk3
[s0]
[s1]
[s2]
=> mkdir primary mirror
[s0]
[s1]
[s2]
=> cd /gpdata/disk4
[s0]
[s1]
[s2]
=> mkdir primary mirror
[s0]
[s1]
[s2]
……

一直将8个数据目录创建完毕,本次安装每台数据节点中有八个primary segment和八个mirror segment。
创建数据目录完毕后,将gpdata目录的权限赋给gpadmin(所有机器)

chown -R gpadmin:gpadmin /gpdata

3.10配置.bash_profile环境变量(每台机器都要)

[gpadmin@gpm ~]$ vi  ~/.bash_profile

source /data/greenplum/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/data/greenplum/gpdata/gpmaster/gpseg-1
export PGPORT=5432
export PGDATABASE=testDB
[gpadmin@mdw ~]$ source ~/.bash_profile(让环境变量生效)

3.11 创建初始化配置文件(只需master即可)

vim /data/greenplum/ gpinitsystem_config 

ARRAY_NAME="Greenplum Data Platform"
SEG_PREFIX=gpseg
PORT_BASE=40000
declare -a DATA_DIRECTORY=(/gpdata/disk1/primary /gpdata/disk2/primary /gpdata/disk3/primary /gpdata/disk4/primary /gpdata/disk5/primary /gpdata/disk6/primary /gpdata/disk7/primary /gpdata/disk8/primary)
MASTER_HOSTNAME=gpm
MASTER_DIRECTORY=/data/greenplum/gpdata/gpmaster
MASTER_PORT=5432
TRUSTED_SHELL=ssh
CHECK_POINT_SEGMENTS=8
ENCODING=UTF8
MIRROR_PORT_BASE=50000
REPLICATION_PORT_BASE=41000
MIRROR_REPLICATION_PORT_BASE=51000
declare -a MIRROR_DATA_DIRECTORY=(/gpdata/disk1/mirror /gpdata/disk2/mirror /gpdata/disk3/mirror /gpdata/disk4/mirror /gpdata/disk5/mirror /gpdata/disk6/mirror /gpdata/disk7/mirror /gpdata/disk8/mirror)
DATABASE_NAME=GP
MACHINE_LIST_FILE=/data/greenplum/conf/seg_hosts

3.12 初始化greenplum集群

[gpadmin@mdw ~]$ gpinitsystem -c /data/gpadmin/conf/gpinitsystem_config

该命令是通过配置文件对整个greenplum集群,并在每个数据节点创建8个primary segment 实例和8个mirror segment实例。
注意:经常这一步骤会卡很长时间,如果报错查看日志。

3.13 查看greenplum 状态

gpstate 
gpstate -s

3.14 启动greenplum

gpstart 		启动gp集群
gpstate -m 	    启动主节点

3.15 关闭greenplum

gpstop		关闭gp集群
gpstop -u 	重新读取配置文件

gpstop -M fast 快速关闭greenplum集群,不管当前是否有连接

原创文章 19 获赞 16 访问量 2458

猜你喜欢

转载自blog.csdn.net/qq_42778289/article/details/97663937