CentOS7下安装GreenPlum6

CentOS7下安装GreenPlum6

@GreenPlum下载地址:https://github.com/greenplum-db/gpdb/releases

@阿里云新用户优惠链接:https://www.aliyun.com/activity/daily/bestoffer?userCode=40hhhswk
@阿里云老用户优惠链接:https://www.aliyun.com/daily-act/ecs/care?userCode=40hhhswk



一、系统与环境说明

类型版本
系统Centos7 2台 (每台2块硬盘)
数据库greenplum 6.13

二、服务器环境准备

本章节需要用root用户,修改所有节点的配置。

2.1 服务器基础信息配置

2.1.1 修改主机名

vi /etc/hostname

gpseg0

2.1.2 修改hosts

vi /etc/hosts

192.168.128.130 gpseg0
192.168.128.131 gpseg1

2.1.3 完成准备

主机名IP地址角色
gpseg0192.168.128.130主节点、存储节点
gpseg1192.168.128.131存储节点

按照表格,完成所有服务器的上述配置

2.2 修改系统参数

2.2.1 /etc/sysctl.conf

vi /etc/sysctl.conf

kernel.shmall = 4000000000
kernel.shmmax = 500000000
kernel.shmmni = 4096
vm.overcommit_memory = 2 # See Segment Host Memory
vm.overcommit_ratio = 95 # See Segment Host Memory
net.ipv4.ip_local_port_range = 10000 65535 # See Port Settings
kernel.sem = 500 2048000 200 40960
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
vm.dirty_background_ratio = 0 # See System Memory
vm.dirty_ratio = 0
vm.dirty_background_bytes = 1610612736
vm.dirty_bytes = 4294967296

刷新系统参数: sysctl -p

设置指导
kernel.shmall = ( _PHYS_PAGES / 2)
kernel.shmmax = ( _PHYS_PAGES / 2) * PAGE_SIZE
echo $(expr $(getconf _PHYS_PAGES) / 2)
echo $(expr $(getconf _PHYS_PAGES) / 2 * $(getconf PAGE_SIZE))

推荐设置/etc/sysctl.conf文件的参数为:
kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000

2.2.2 /etc/security/limits.conf

vi /etc/security/limits.conf

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

三、安装

本文档采用手动在所有节点安装rpm的形式。
本章节需要用root用户,修改所有节点的配置。(除3.3小结外)

3.1 安装

3.1.1 安装包上传

将安装包上传到所有节点上。(略)

3.1.2 测试安装,找出所需要的依赖(可略过)

rpm -ivh greenplum-db-6.13.0-rhel7-x86_64.rpm

依赖缺失:
error: Failed dependencies:
apr is needed by greenplum-db-6-6.13.0-1.el7.x86_64
apr-util is needed by greenplum-db-6-6.13.0-1.el7.x86_64
bzip2 is needed by greenplum-db-6-6.13.0-1.el7.x86_64
krb5-devel is needed by greenplum-db-6-6.13.0-1.el7.x86_64
libyaml is needed by greenplum-db-6-6.13.0-1.el7.x86_64
rsync is needed by greenplum-db-6-6.13.0-1.el7.x86_64
zip is needed by greenplum-db-6-6.13.0-1.el7.x86_64
libevent is needed by greenplum-db-6-6.13.0-1.el7.x86_64

3.1.3 安装依赖

yum install -y apr apr-util bzip2 krb5-devel libevent libyaml rsync zip

3.1.4 安装greenplum的RPM包

rpm -ivh greenplum-db-6.3.0-rhel7-x86_64.rpm

rpm默认的安装路径:
/usr/local/greenplum-db --软连接
/usr/local/greenplum-db-6.13.0 --真实路径

3.2 新建用户

3.2.1 新建用户: gpadmin

greenplum的管理员用户默认为: gpadmin,在每一台机器上新建gpadmin用户

useradd gpadmin ; echo "123456" | passwd --stdin gpadmin

这里将密码设置为:123456

3.2.2 修改greenplum安装目录权限

把通过RPM安装的Greenplum文件夹的拥有者,修改为gpadmin

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

3.2.2 修改gpadmin环境变量

vi /home/gpadmin/.bash_profile

在文件末尾添加:

export GPHOME=/usr/local/greenplum-db
source $GPHOME/greenplum_path.sh

3.3 准备数据目录

架构说明:
+ 实验环境为2台节点,只是简单搭建,没有做standby高可用;
+ 实验环境所有的节点都会作为存储数据;
+ 生产环境下,建议master节点和segment节点配置一致,并且建议master节点不作为存储节点。

目录说明:
+ 实验环境在根目录’/'下新建文件夹,作为greenplum数据库的存储路径
+ 真实环境需要挂载多块硬盘后,将挂载的磁盘作为greenplum数据库的存储路径

  • 在存储节点: mkdir -p /data1 /data2 ; chown -R gpadmin:gpadmin /data1 /data2
  • 在master和standby-master:mkdir -p /data/master ; chown -R gpadmin:gpadmin /data

★四、集群初始化

本章节内容,均使用gpadmin用户操作

★4.1 免密配置

在集群环境中,需要配置gpadmin用户从master节点到segment之间的免密登录。

4.1.1 在所有节点上生成公钥

ssh-keygen -t rsa

4.1.2 将所有节点公钥拷贝至master节点

ssh-copy-id -i gpseg0
ssh-copy-id -i gpseg1

★4.2 配置文件

在master节点操作

mkdir ~/gpconfigs

4.2.1 新建集群节点列表

vi ~/gpconfigs/hostlist

gpseg0
gpseg1

4.2.2 ssh免密测试

gpssh -f ~/gpconfigs/hostfile_exkeys -e 'ls -l /usr/local/greenplum-db'

4.2.3 新建数据存放目录

  • 主数据目录:
    gpssh -f ~/gpconfigs/hostfile_exkeys -e 'mkdir -p /data1/primary /data2/primary'
  • 镜像数据目录:
    gpssh -f ~/gpconfigs/hostfile_exkeys -e 'mkdir -p /data1/mirror /data2/mirror'

4.2.4 拷贝配置文件模板

cp /usr/local/greenplum-db/docs/cli_help/gpconfigs/gpinitsystem_config ~/gpconfigs

4.2.5 修改配置文件

vi ~/gpconfigs/gpinitsystem_config

ARRAY_NAME="Greenplum Data Platform"
SEG_PREFIX=gpseg    # 前缀默认值
PORT_BASE=6000      # master默认端口
# 数据存放目录 根据磁盘性能配置每个目录中primary个数
declare -a DATA_DIRECTORY=(/data1/primary /data1/primary /data2/primary /data2/primary)
MASTER_HOSTNAME=gpseg0  # 主节点名称
MASTER_DIRECTORY=/data/master   # master元数据目录
MASTER_PORT=5432    
TRUSTED SHELL=ssh
CHECK_POINT_SEGMENTS=8
ENCODING=UNICODE

# 以下为mirror目录, 如果集群不需要镜像备份可以不打开
MIRROR_PORT_BASE=7000
declare -a MIRROR_DATA_DIRECTORY=(/data1/mirror /data1/mirror /data2/mirror /data2/mirror)

★4.3 初始化与反初始化

★4.3.0 反初始化

反向初始化,删除所有已存在的数据;当初始化遇见错误时,可以执行。

  • master及standby-master:
    rm -rf /data/master/*
  • 数据节点:
    gpssh -f ~/gpconfigs/hostfile_exkeys -e 'rm -rf /data1/primary/* /data2/primary/*'
    gpssh -f ~/gpconfigs/hostfile_exkeys -e 'rm -rf /data1/mirror/* /data2/mirror/*'

4.3.1 初始化

  1. 初始化命令:
    gpinitsystem -c ~/gpconfigs/gpinitsystem_config -h ~/gpconfigs/hostlist
  2. 初始化完成后,添加环境变量
    vi ~/.bash_profile
    export MASTER_DATA_DIRECTORY=/data1/master/gpseg-1  # ★ master、standby一定要配置
    export PGPORT=5432  # ★ master、standby一定要配置
    export PGDATABASE=postgres  # 默认数据库
    
    source ~/.bash_profile
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值