GreenPlum6.0搭建,超详细

目录

一、基础架构介绍

1.网络结构

2.部署架构

二、集群主机基础配置

1.机器准备

2.机器配置

1⃣️域名解析配置

2⃣️设置系统参数

 3⃣️配置Linux文件描述符

4⃣️挂在磁盘

5⃣️关闭防火墙

6⃣️配置系统时钟

7⃣️重启系统,让所有配置生效

三、安装GreenPlum数据库,并配置gpadmin用户

1.在ansible主机的/etc/ansible/hosts上配置对应的机器域名:

2.Ansible Playbook样例

3.下载对应的greenplum压缩包

4.运行ansible-playbook命令

四、配置SSH免密登陆

1.登陆master主机并切换成gpadmin用户

2.初始化GreenPlum的path文件

3.在master节点上生成ssh key文件

4.使用ssh-copy-id命令将master的public key添加到其他主机上

5.在master节点上创建主机列表文件

6.执行gpssh-exkeys命令完成n-n的ssh免密登陆

7.验证

五、创建数据存储

1.在master上创建存储目录

2.用gpssh命令在segment主机上创建目录

六、初始化GreenPlum集群

1.登陆master主机,切换gpadmin用户

2.创建初始化host文件

3.拷贝初始化文件到用户目录下

4.修改初始化配置

5.保存并退出文件

6.执行初始化命令

1⃣️跳转到master机器上gpadmin的用户目录,执行初始化命令

2⃣️确认安装步骤

3⃣️初始化失败定位

七、配置GreenPlum环境变量

1.以gpadmin用户登陆master主机

2.编辑.bashrc文件

3.将GreenPlum命令行和MASTER_DATA_DIRECTORY加入初始化命令中

4.退出并保存

5.初始化文件使其生效


一、基础架构介绍

1.网络结构

    GP数据通过多台主机进行大量的数据处理;master节点是整个GP集群的入口,用户通过master节点连接并提交sql语句;segment节点功能是处理数据和存储数据,master负责协调各个节点直接的工作负载,如下图所示:

 

2.部署架构

    本编文章部署架构为单master节点,单segment节点;如需部署高可用集群:master主备,segment冗余,可参考官网https://gpdb.docs.pivotal.io/6-0/main/index.html,或评论区留言

 

二、集群主机基础配置

1.机器准备

    本例子用的是5台16C32G的腾讯云机器,每台机器挂在一个100G的数据磁盘

2.机器配置

机器配置主要包含一下三个方面:

  •    共享内存:如果segment节点没有配置共享内存,GP集群将无法启动。大部分Linux的默认共享内存配置低于GP集群所需要的共享内存;同时,你还需要关闭主机上的OOM killer。
  • 网络:GP必须要一个大流量、最优化的网络
  • 用户限制:GP必须要对相关文件设置高度的访问权限;默认的文件访问权限限制可能会造成GP访问失败

1⃣️域名解析配置

用root用户登陆各台主机,编辑/etc/hosts,并将IP和域名映射配置加到末尾,为了让5台机器之间通过域名能相互访问,如:

# master
10.0.0.1   mdw
# segments
10.0.0.2   sdw1
10.0.0.3   sdw2
10.0.0.4   sdw3
10.0.0.5   sdw4

可在任意一台机器ping对方的域名测试,如:在master上执行 ping sdw1

2⃣️设置系统参数

5个地方需要根据系统的值配置

# kernel.shmall = _PHYS_PAGES / 2 # 备注<1>
kernel.shmall = 4000000000
# kernel.shmmax = kernel.shmall * PAGE_SIZE # 备注<2>
kernel.shmmax = 500000000
kernel.shmmni = 4096
vm.overcommit_memory = 2
vm.overcommit_ratio = 95
net.ipv4.ip_local_port_range = 10000 65535 # 备注<3>
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 # 备注<5>
vm.dirty_ratio = 0
vm.dirty_background_bytes = 1610612736
vm.dirty_bytes = 4294967296

Notes:

备注<1><2> 
kernel.shmall(共享内存页总数)
kernel.shmmax (共享内存段的最大值)
一般来讲,这两个参数的值应该是物理内存的一半,可以通过操作系统的值_PHYS_PAGES和PAGE_SIZE计算得出。

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))

如果得出的kernel.shmmax值小于系统的默认值,则引用系统默认值即可

备注<3>
segment使用的端口是6000开始
segment mirror使用的端口是7000开始
所以配置默认值即可
net.ipv4.ip_local_port_range = 10000 65535


备注<5>
对于64G内存的操作系统,建议配置如下值:
vm.dirty_background_ratio = 0
vm.dirty_ratio = 0
vm.dirty_background_bytes = 1610612736 # 1.5GB
vm.dirty_bytes = 4294967296 # 4GB

对于小于64G内存的操作系统,建议配置如下值:
vm.dirty_background_ratio = 3
vm.dirty_ratio = 10

 3⃣️配置Linux文件描述符

配置如下参数到/etc/security/limits.conf文件中:

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

4⃣️挂在磁盘

官方建议使用XFS磁盘类型,当然其他磁盘类型也是可以

示例配置如下:

将/dev/data磁盘挂载到/data目录下,配置/etc/fstab文件以使Linux系统启动默认挂载磁盘,如下配置添加到文件/etc/fstab:

/dev/data /data xfs nodev,noatime,nobarrier,inode64 0 0

5⃣️关闭防火墙

自行检查
# systemctl status firewalld
# systemctl stop firewalld.service
# systemctl disable firewalld.service

# /sbin/chkconfig iptables off

6⃣️配置系统时钟

配置segment主机与master时钟同步

将如下配置加入到/etc/ntp.conf文件中:

server mdw prefer

mdw为前面master配置的域名

7⃣️重启系统,让所有配置生效

 

三、安装GreenPlum数据库,并配置gpadmin用户

该步骤主要是安装GreenPlum软件包,创建gpadmin用户并配置目录权限

以下示例通过ansible-playbook安装,也可以通过yum、apt等包管理工具安装:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值