美文网首页PostgreSQL
CentOS7.3安装Greenplum4.3

CentOS7.3安装Greenplum4.3

作者: 三叉戟渔民 | 来源:发表于2018-05-29 16:28 被阅读0次

    本文非自创,在前人的基础上进行了修改,以下步骤为本人亲测。改编自: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 是指定连接的用户名

    相关文章

      网友评论

        本文标题:CentOS7.3安装Greenplum4.3

        本文链接:https://www.haomeiwen.com/subject/gkbgjftx.html