greenplum集群安装

安装greenplum集群

  1. 服务器greenplum集群节点角色规划
用户主机名内网IPSSH端口系统rke 角色
gpadmingp-master192.168.2.13122CentOS Linux release 7.6.1810 (Core)Master
gpadmingp-segment-01192.168.2.13222CentOS Linux release 7.6.1810 (Core)Segment
gpadmingp-segment-02192.168.2.13322CentOS Linux release 7.6.1810 (Core)Segment
  1. 系统准备(所有节点 用root 用户操作)
  • 安装一些个人常用的基础安装包

    yum  -y install  epel-release.noarch
    yum  -y install   psmisc gcc gcc-c++ texinfo wget unzip zip gcc libticonv-devel  libcurl-devel curl nmap iotop dstat tree mlocate ntpdate openssh-clients  net-tools vim  ntsysv nmap curl lrzsz  sysstat  libselinux-python   pcre pcre-devel zlib zlib-devel openssl openssl-devel readline-devel bzip2  httpd-devel python-devel python-pip python-setuptools   lsof  sqlite-devel  nscd bind-utils telnet rsync tcpdump expect  nc    ntp  lftp   bash-completion ipset ipvsadm
    
    
  • 更改服务hosts文件

    cat  >> /etc/hosts << EOF
    192.168.2.131 gp-master
    192.168.2.132 gp-segment-01	
    192.168.2.133 gp-segment-02
    EOF
    
  • 关闭防火墙

    systemctl stop firewalld
    systemctl stop iptables
    systemctl disable firewalld
    systemctl disable iptables
    
    
  • 关闭selinux

     sed -i 's/SELINUX=enforcing/SELINUX=disabled/'  /etc/sysconfig/selinux
     sed -i 's/SELINUX=enforcing/SELINUX=disabled/'   /etc/selinux/config  
     setenforce 0
    
  • 三台时间同步要一致

    systemctl start ntpd
    systemctl enable ntpd
    
    
  • 关闭swap分区

    swapoff -a
    sed  -i  '/swap/d' /etc/fstab
    mount  -a
    
    • 然后修改/etc/fstab,把swap分区相关的配置注释掉
  • 内核参数调整

    cat >> /etc/sysctl.conf <<EOF
    fs.file-max = 2442652
    net.ipv4.ip_local_port_range = 1024     65535
    vm.swappiness=0
    kernel.sem = 500 5120000 2500 9000
    kernel.msgmnb = 65536
    kernel.msgmax = 65536
    kernel.shmmax = 500000000
    kernel.shmall = 4000000000
    kernel.shmmni = 4096
    vm.overcommit_memory = 2
    vm.overcommit_ratio=95
    EOF
    sysctl  -p 
    
  • 配置进程文件资源限制

    cat > /etc/security/limit.conf << EOF
       * soft nofile 655360
       * hard nofile 655360
       * soft nproc 131072
       * hard nproc 131072
    EOF
    cat  >  /etc/security/limits.d/20-nproc.conf  << EOF
       * soft nofile 655360
       * hard nofile 655360
       * soft nproc 131072
       * hard nproc 131072
    EOF
    
  • IPC对象删除,防止Greenplum数据库实用程序gpinitsystem失败并出现信号错误

    vim /etc/systemd/logind.conf 
    RemoveIPC=no
    
  • 创建gpadmin 用户并设置密码

    useradd gpadmin 
    echo "password" | passwd --stdin gpadmin
    
  • 下载rpm安装包并安装并创建gp的数据目录

    链接: https://pan.baidu.com/s/1UDV2Ki7eLtgS_t549dZwIg 提取码: p5qv
    yum install greenplum-db-6.9.1-rhel7-x86_64.rpm  -y 
    mkdir -p /data/gpdata
    chown -R gpadmin.gpadmin /usr/local/greenplum-db
    chown -R gpadmin.gpadmin /data/gpdata
    
  1. 配置Greenplum DB(用gpadmin用户操作)
  • 两个segment节点 创建数据目录

     mkdir -p /data/gpdata/gp{1,2,m1,m2}
    
  • gp-master主机上创建数据目录

    mkdir -p /data/gpdata/gpmaster 
    
  • 在gp-master 创建一个all_hosts文件包含所有节点,创建一个seg_hosts文件包含所有segment节点

    cat  >/home/gpadmin/all_hosts <<EOF
    gp-master
    gp-segment-01
    gp-segment-02
    
    cat  >/home/gpadmin/seg_hosts <<EOF
    gp-segment-01
    gp-segment-02
    
  • 在gp-master上配置ssh 免密码登录

    ssh-keygen  -t rsa 
    ssh-copy-id -i /home/gpadmin/.ssh/id_rsa.pub gpadmin@gp-master
    ssh-copy-id -i /home/gpadmin/.ssh/id_rsa.pub gpadmin@gp-segment-01
    ssh-copy-id -i /home/gpadmin/.ssh/id_rsa.pub gpadmin@gp-segment-02
    source /usr/local/greenplum-db/greenplum_path.sh 
    gpssh-exkeys -f /home/gpadmin/all_hosts 
    
  • 初始化前检查连通性

    source /usr/local/greenplum-db/greenplum_path.sh
    gpcheckperf -f /home/gpadmin/all_hosts -r N -d /tmp
    
  • 配置初始化集群需要的配置文件

    cp /usr/local/greenplum-db/docs/cli_help/gpconfigs/gpinitsystem_config  ~/gpinitsystem_config
    cat  > ~/gpinitsystem_config << EOF
    ARRAY_NAME="Greenplum Data Platform"
    SEG_PREFIX=gpseg
    PORT_BASE=6000
    declare -a DATA_DIRECTORY=(/data/gpdata/gp1 /data/gpdata/gp2 )
    MASTER_HOSTNAME=gp-master
    MASTER_DIRECTORY=/data/gpdata/gpmaster
    MASTER_PORT=5432
    TRUSTED_SHELL=ssh
    CHECK_POINT_SEGMENTS=8
    ENCODING=UNICODE
    MIRROR_PORT_BASE=7000
    declare -a MIRROR_DATA_DIRECTORY=(/data/gpdata/gpm1 /data/gpdata/gpm2 )
    DATABASE_NAME=test
    EOF
    
  • 初始化集群

    gpinitsystem -c ~/gpinitsystem_config -h ~/seg_hosts
    
    

    也可以指定standby 节点对master节点实现高可用(需要在standby节点创建/data/gpdata/gpmaster目录)

    gpinitsystem -c ~/gpinitsystem_config -h ~/seg_hosts -s standby_host_ip
    
  • 配置shell 终端

    cat  > ~/.bashrc << EOF
    source /usr/local/greenplum-db/greenplum_path.sh
    export MASTER_DATA_DIRECTORY=/data/gpdata/gpmaster/gpseg-1
    export PGPORT=5432
    export PGUSER=gpadmin
    export PGDATABASE=postgres
    export LD_PRELOAD=/lib64/libz.so.1 
    export PS1="[\u@\h \W]\$"
    EOF
    source ~/.bashrc
    
    • 启动Greenplum: gpstart
    • 停止Greenplum: gpstop
    • 加载Greenplum配置文件: gpstop -u
    • 查看集群状态: gpstate

集成 PXF(无 Kerberos)

export PXF_CONF=/usr/local/greenplum-db/pxf/conf
export GPHOME=/usr/local/greenplum-db

#初始化
$GPHOME/pxf/bin/pxf cluster init

cp -ap /etc/hadoop/conf/hdfs-site.xml ${GPHOME}/conf/servers/default
cp -ap /etc/hadoop/conf/core-site.xml ${GPHOME}/conf/servers/default
cp -ap /etc/hadoop/conf/yarn-site.xml ${GPHOME}/conf/servers/default
cp -ap /etc/hadoop/conf/mapred-site.xml ${GPHOME}/conf/servers/default

同步配置文件到其他pxf 节点(Greenplum 节点)
$GPHOME/pxf/bin/pxf cluster sync

启动 pxf
$GPHOME/pxf/bin/pxf cluster start

添加 pxf 插件
psql cdp
=# CREATE EXTENSION pxf;
=# \dx

问题: User: xxx is not allowed to impersonate xxx
解决方案: /usr/local/greenplum-db/pxf/conf/conf/pxf-env.sh 中追加export PXF_USER_IMPERSONATION=false 重启pxf 服务

集成Bitmap

tar -zxvf roaringbitmap_v0.2.66.tar.gz
cd gpdb-roaringbitmap-0.2.66
make && make install

创建 bitmap插件
# CREATE EXTENSION roaringbitmap;

集成HLL

tar -zxvf postgresql-hll-2.14.tar.gz
cd postgresql-hll-2.14
make && make install

创建 hll 插件
# CREATE EXTENSION hll;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值