CentOS7.3安装Greenplum4.3

本文非自创,在前人的基础上进行了修改,以下步骤为本人亲测。改编自:Greenplum 4.3 For Centos 6.5 安装指南,特此感谢作者。

环境:

 系统:CentOS 7.3.1611 64位
 安装包:Greenplum-4.3.15.0

三台虚拟机:

主机名 节点 IP 配置
mdw master 172.16.69.130 内存1G、磁盘50GB
sdw1 segment 172.16.69.131 内存1G、磁盘50GB
sdw2 segment 172.16.69.132 内存1G、磁盘50GB

环境部署

1、修改/etc/hosts(所有节点)
[root@mdw ~]# vi /etc/hosts

172.16.69.130 mdw
172.16.69.131 sdw1
172.16.69.132 sdw2
2、创建用户和用户组(所有节点)

我设置的密码是gpadmin@123

[root@mdw ~]# groupadd -g 530 gpadmin
[root@mdw ~]# useradd -g 530 -m -d /home/gpadmin -s /bin/bash gpadmin
[root@mdw ~]# passwd gpadmin
更改用户 gpadmin 的密码 。
新的 密码:
无效的密码: 密码包含用户名在某些地方
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@mdw ~]#
3、修改系统内核(所有节点)
[root@mdw ~]# vi /etc/sysctl.conf

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

执行以下命令使参数生效:

[root@mdw ~]# sysctl -p
4、修改文件打开限制(所有节点)
[root@sdw1 ~]# vi /etc/security/limits.conf
# End of file
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
5、关闭防火墙及selinux(所有节点)
[root@mdw ~]# service firewalld stop  --关闭防火墙
[root@mdw ~]# systemctl disable firewalld.service  --取消开机启动
[root@mdw ~]# vi /etc/selinux/config  --关闭selinux

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
#SELINUX=enforcing
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

SELINUX=disabled

修改好以后,重启电脑才能生效

安装Greenplum

1、下载
(1)首先进入Greenplum官网
image.png

(2)选择所需版本


image.png

(3)选择Greenplum Database Server


image.png

(4)点击下载(下载前需要注册)
CSDN也可以下载

image.png

2、master安装Greenplum

安装前,所有节点创建安装路径

[root@mdw opt]# mkdir /opt/greenplum
[root@mdw opt]# chown -R gpadmin:gpadmin /opt/greenplum

改变安装路径为/opt/greenplum/greenplum-db-4.3.15.0

********************************************************************************
Do you accept the Pivotal Database license agreement? [yes|no]
********************************************************************************
yes
********************************************************************************
Provide the installation path for Greenplum Database or press ENTER to
accept the default installation path: /usr/local/greenplum-db-4.3.15.0
********************************************************************************
/opt/greenplum/greenplum-db-4.3.15.0
********************************************************************************
Install Greenplum Database into /opt/greenplum/greenplum-db-4.3.15.0? [yes|no]
********************************************************************************
yes
********************************************************************************
/opt/greenplum/greenplum-db-4.3.15.0 does not exist.
Create /opt/greenplum/greenplum-db-4.3.15.0 ? [yes|no]
(Selecting no will exit the installer)
********************************************************************************
yes
Extracting product to /opt/greenplum/greenplum-db-4.3.15.0
********************************************************************************
Installation complete.
Greenplum Database is installed in /opt/greenplum/greenplum-db-4.3.15.0
Pivotal Greenplum documentation is available
for download at http://gpdb.docs.pivotal.io

修改目录文件所有者为gpadmin

[root@mdw soft]# chown -R gpadmin:gpadmin /opt/greenplum

下面开始安装剩余的两个segment节点

3、创建配置文件

hostlist存储所有节点的主机名
seg_hosts存储了所有从节点的主机名

[root@mdw soft]# su - gpadmin
[gpadmin@mdw ~]$ mkdir conf
[gpadmin@mdw ~]$ cd conf
[gpadmin@mdw conf]$ vi hostlist

mdw
sdw1
sdw2

[gpadmin@mdw conf]$ vi seg_hosts

sdw1
sdw2
4、打通所有节点

greenplum_path.sh中保存了运行Greenplum的一些环境变量设置,包括GPHOOME、PYTHONHOME等设置。

[gpadmin@mdw conf]$ source /opt/greenplum/greenplum-db/greenplum_path.sh
[gpadmin@mdw conf]$ gpssh-exkeys -f /home/gpadmin/conf/hostlist
[STEP 1 of 5] create local ID and authorize on local host

[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
  ***
  *** Enter password for sdw1:
  ... send to sdw2

[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

[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身份执行相应操作的时候就没有权限。

[INFO] completed successfully 这就说明成功打通了,之后就可以使用下面的命令开启批量操作,如下:

[gpadmin@mdw conf]$ gpssh -f /home/gpadmin/conf/hostlist
Note: command history unsupported on this machine ...
=> pwd
[sdw1] /home/gpadmin
[sdw2] /home/gpadmin
[ mdw] /home/gpadmin
=> exit

这里pwd命令是linux中的查看路径命令,这里也是查看一下批量操作时所处的位置,从中可以看到同时连接到了3个节点。这里如果/etc/hosts文件中参数只设置了两个,没有设置主机名,就只能同时连接2个节点,而且是随机的。
这里我们只是测试一下,exit之后先做一些其他的操作。

5、将安装包分发到每个子节点

打通之后需要将master中的greenplum安装包批量复制到各个segment节点上。

[gpadmin@mdw /]$ cd /opt/greenplum/
#打包
[gpadmin@mdw greenplum]$ tar -cf gp.4.3.tar greenplum-db-4.3.15.0/
#利用gpscp命令将这个文件复制到每一台机器上
[gpadmin@mdw greenplum]$ gpscp -f /home/gpadmin/conf/seg_hosts gp.4.3.tar =:/opt/greenplum/
#批量解压
[gpadmin@mdw greenplum]$ cd ~/conf/
[gpadmin@mdw conf]$ gpssh -f seg_hosts
Note: command history unsupported on this machine ...
=> cd /opt/greenplum
[sdw2]
[sdw1]
=> tar -xf gp.4.3.tar
[sdw2]
[sdw1]
建立软连接
=> ln -s ./greenplum-db-4.3.15.0 greenplum-db
[sdw2]
[sdw1]
=> ll
[sdw2] 总用量 402380
[sdw2] -rw-rw-r--  1 gpadmin gpadmin 412037120 5月  29 15:16 gp.4.3.tar
[sdw2] lrwxrwxrwx  1 gpadmin gpadmin        23 5月  29 15:22 greenplum-db -> ./greenplum-db-4.3.15.0
[sdw2] drwxr-xr-x 11 gpadmin gpadmin       189 5月  29 14:01 greenplum-db-4.3.15.0
[sdw1] 总用量 402380
[sdw1] -rw-rw-r--  1 gpadmin gpadmin 412037120 5月  29 15:16 gp.4.3.tar
[sdw1] lrwxrwxrwx  1 gpadmin gpadmin        23 5月  29 15:22 greenplum-db -> ./greenplum-db-4.3.15.0
[sdw1] drwxr-xr-x 11 gpadmin gpadmin       189 5月  29 14:01 greenplum-db-4.3.15.0
=> exit

不知道软连接怎么建立的,可以参考我的文章——Linux软连接在pg数据库中的应用

初始化数据库

1、批量创建greenplum数据存放目录
[gpadmin@mdw conf]$ gpssh -f hostlist
Note: command history unsupported on this machine ...
=> mkdir gpdata
[ mdw]
[sdw1]
[sdw2]
=> cd gpdata
[ mdw]
[sdw1]
[sdw2]
=> mkdir gpmaster gpdatap1 gpdatap2 gpdatam1 gpdatam2
[ mdw]
[sdw1]
[sdw2]
=> ll
[ mdw] 总用量 0
[ mdw] drwxrwxr-x 2 gpadmin gpadmin 6 5月  29 15:31 gpdatam2
[ mdw] drwxrwxr-x 2 gpadmin gpadmin 6 5月  29 15:31 gpdatam1
[ mdw] drwxrwxr-x 2 gpadmin gpadmin 6 5月  29 15:31 gpdatap1
[ mdw] drwxrwxr-x 2 gpadmin gpadmin 6 5月  29 15:31 gpdatap2
[ mdw] drwxrwxr-x 2 gpadmin gpadmin 6 5月  29 15:31 gpmaster
[sdw1] 总用量 0
[sdw1] drwxrwxr-x 2 gpadmin gpadmin 6 5月  29 15:31 gpdatam2
[sdw1] drwxrwxr-x 2 gpadmin gpadmin 6 5月  29 15:31 gpdatam1
[sdw1] drwxrwxr-x 2 gpadmin gpadmin 6 5月  29 15:31 gpdatap1
[sdw1] drwxrwxr-x 2 gpadmin gpadmin 6 5月  29 15:31 gpdatap2
[sdw1] drwxrwxr-x 2 gpadmin gpadmin 6 5月  29 15:31 gpmaster
[sdw2] 总用量 0
[sdw2] drwxrwxr-x 2 gpadmin gpadmin 6 5月  29 15:31 gpdatam2
[sdw2] drwxrwxr-x 2 gpadmin gpadmin 6 5月  29 15:31 gpdatam1
[sdw2] drwxrwxr-x 2 gpadmin gpadmin 6 5月  29 15:31 gpdatap1
[sdw2] drwxrwxr-x 2 gpadmin gpadmin 6 5月  29 15:31 gpdatap2
[sdw2] drwxrwxr-x 2 gpadmin gpadmin 6 5月  29 15:31 gpmaster
=> exit
2、配置.bashrc环境变量(每个节点)

编辑.bashrc,添加以下内容:

[gpadmin@mdw conf]$ cd ~
[gpadmin@mdw ~]$ vi .bashrc

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH
source /opt/greenplum/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/home/gpadmin/gpdata/gpmaster/gpseg-1
export PGPORT=5432
export PGDATABASE=testDB

[gpadmin@mdw ~]$ source .bashrc

注意:PGPORT指的是你安装greenplum数据库的端口号。

3、创建初始化配置文件(只需master即可)
[gpadmin@mdw conf]$ vi /home/gpadmin/conf/gpinitsystem_config

ARRAY_NAME="Greenplum"
SEG_PREFIX=gpseg
PORT_BASE=33000
declare -a DATA_DIRECTORY=(/home/gpadmin/gpdata/gpdatap1  /home/gpadmin/gpdata/gpdatap2)
MASTER_HOSTNAME=mdw
MASTER_DIRECTORY=/home/gpadmin/gpdata/gpmaster
MASTER_PORT=5432
TRUSTED_SHELL=/usr/bin/ssh
MIRROR_PORT_BASE=43000
REPLICATION_PORT_BASE=34000
MIRROR_REPLICATION_PORT_BASE=44000
declare -a MIRROR_DATA_DIRECTORY=(/home/gpadmin/gpdata/gpdatam1 /home/gpadmin/gpdata/gpdatam2)
MACHINE_LIST_FILE=/home/gpadmin/conf/seg_hosts
4、创建初始化配置文件(只需master即可)
[gpadmin@mdw ~]$ gpinitsystem -c /home/gpadmin/conf/gpinitsystem_config -s sdw2

其中sdw2是指master的standby所在的节点,我看书上和网上的一些资料都将standby放在最后一个节点,可能是约定俗成的吧。

注意:如果上面有一些配置有问题,gpinitsystem就不能成功,日志在主节点/home/gpadmin/gpAdminLogs/的gpinitsystem_2018XXXX.log文件中。

需要注意的是如果初始化失败,一定要认真查看这个日志文件,一味重复安装没有太大意义,重要的是要找到主要原因。

测试运行安装的Greenplum数据库

1、启动和停止数据库测试
[gpadmin@mdw conf]$ gpstart
[gpadmin@mdw conf]$ gpstop
2、访问数据库
[gpadmin@mdw conf]$ psql -d postgres
psql (8.2.15)
Type "help" for help.

postgres=#

出现以上界面,恭喜你已经安装成功了。
输入查询语句,查看是否可以执行。

postgres=# select datname,datdba,encoding,datacl from pg_database;
  datname  | datdba | encoding |              datacl
-----------+--------+----------+----------------------------------
 postgres  |     10 |        6 |
 template1 |     10 |        6 | {=c/gpadmin,gpadmin=CTc/gpadmin}
 template0 |     10 |        6 | {=c/gpadmin,gpadmin=CTc/gpadmin}
(3 rows)

postgres=# \q(退出)

安装pgadmin lll客户端

安装pgadmin Ⅲ,使用该客户端,连接greenplum 4.3数据库

1、用户创建密码
postgres=# alter role gpadmin with password 'gpadmin';
2、添加新的客户端服务器信息

在master节点的 $MASTER_DATA_DIRECTORY/pg_hba.conf 中添加新的客户端服务器信息。master节点的pg_hba.conf配置文件,控制客户端访问Greenplum系统。

注意:segment节点也有pg_hba.conf配置文件,它只能控制master节点能否访问segment,决不能运行客户端连接。所以不要修改segment的pg_hba.conf文件。

格式:

host  database  role  CIDR-address  authentication-method

pg_hba.conf中记录是被顺序读取的,所有记录的顺序是有象征性意义的。

通常前面的记录匹配更少的连接但要求较弱的认证,后面的记录匹配更多的连接但要求更严格的认证。

例如:允许gpadmin用户在192.168.0.x网段访问所有数据库,使用md5验证。

# vi $MASTER_DATA_DIRECTORY/pg_hba.conf

host     all         gpadmin         172.16.69.0/24             md5

在master重新加载pg_hba.conf文件,需要重启Greenplum数据库。

[gpadmin@mdw conf]$ gpstop -a
[gpadmin@mdw conf]$ gpstart -a
3、验证客户端能否连接数据库
[gpadmin@mdw conf]$  psql -h 172.16.69.130 -p 5432 -d postgres -U gpadmin -W

-h 172.16.69.130是指定连接master的ip地址

-p 5432 是安装greenplum数据库时,设置的端口号

-u gpadmin 是指定连接的用户名

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,723评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,080评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,604评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,440评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,431评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,499评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,893评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,541评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,751评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,547评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,619评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,320评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,890评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,896评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,137评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,796评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,335评论 2 342

推荐阅读更多精彩内容