网易首页 > 网易号 > 正文 申请入驻

Greenplum集群部署小结

0
分享至

Greenplum属于一种看起来“较重”的数据库MPP架构,不像基于MySQL基于中间件的架构那么轻量,但是要说一些具体的场景,比如Greenplum支持存储过程,支持列式存储,加上分区表和内置的数据分片等多种模式,都是典型的OLAP场景,术业有专攻还是有一定道理的。

最近因为业务需求和改造需要部署几套GP集群,总体来说也是需要解决以前的一些顽疾并加以改进,运行几个上百节点的集群还是有一定的压力的,不过前几年在飞祥同学的劳动成果之上,整个集群还是比较稳定的,在运行中也发现了一些额外的问题和痛点。

1)之前的GP segment数量设计过度,因为资源限制,过多考虑了功能和性能,对于集群的稳定性和资源平衡性考虑有所欠缺,在每个物理机节点上部署了10个Primary,10个Mirror,导致一旦出现Segment节点不可用,对于整个集群的稳定性会是一个大的隐患,最尴尬的莫过于一个Segment节点不可用,另外一个Segment节点负载过高,最后集群不可用,所幸这种情况暂未出现

2)GP集群的存储资源和性能的平衡不够。GP存储对标基本都是百TB,相对来说和我们所说的大数据体系的PB还是有很大差异的,GP里面计算的数据总体都是比较重要,而且总体的存储容量不会特别大,磁盘现在有8T的规格,如果放12块盘,则RAID-5会有近70多T的存储空间,而RAID-10则有48T左右的空间,如果RAID-5同时坏了2块盘就尴尬了,但是对于RAID-10来说还是有转机的,这个情况之前碰到过一次,在替换一块坏盘的时候,工程师发现另外一块盘也快坏了,RAID-5要一块一块的换,当时还因为这个熬了个通宵,想了很多预案,说了这么多是想表达,GP存储的容量不用那么大,如果在损失一定存储容量的基础上能够最大程度降低隐患是很划算的,所以在存储容量和性能的综合之上,我们是选择了RAID-10

3)集群的验收和保障工作补充。如果一个GP集群用过很长一段时间就会发现启停都是一个大工程,之前启停要耗时半个小时,让小心脏压力很大。 这个过程中也发现了以前遗漏了一些环节,比如性能压测,导致不太确定整个集群的支撑能力到底如何。

在此基础上,还需要额外考虑如下的一些因素:

1)集群的跨机房迁移如何做到平滑,或者影响最低,之前一次机房搬迁,导致IP变化后的集群无法启动,当时真是吓坏了,因为在这种问题面前,就是0和1的博弈,如果是0就意味着数据都丢弃了,所以在这方面还是需要做一些扎实的铺垫。

2)服务器后续过保要做硬件替换,如何能够实现滚动替换,这是在已有的基础之上需要前瞻考虑的重要点,几年后的服务器过保如何应对,如果有了可靠的方案,以后也会从容一些。

3)GP的版本和基础环境需要同步升级,比如我们目前的主流操作系统为CentOS7,如果继续使用CentOS 6就不应该了,同时对于GP的版本也需要重新评估,在较新版本和稳定版本之间进行平衡。

整个GP集群的部署架构如下:

Greenplum是我知道的数据库中的角色最完整的。Master,Standby,Primary,Mirror,各种数据库中的不同角色在这里有一套完整的体系命名。

新的这一套环境注定在我手中构建,所以我希望完善以下的一些细节。

1)Greenplum的版本选择,目前有两个主要的版本类别,一个是开源版(Open Source distribution)和Pivotal官方版,它们的其中一个差异就是官方版需要注册,签署协议,在此基础上还有GPCC等工具可以用,而开源版本可以实现源码编译或者rpm安装,无法配置GPCC。综合来看,我们选择了开源版本的6.16.2,这其中也询问了一些行业朋友,特意选择了几个涉及稳定性bug修复的版本。

2)GP的容量规划,这一次经过讨论是选择了折中的配置,即(6+6)*10+2,具体解释就是一共12台服务器,其中有10台服务器是Segment节点,每台上面部署了6个Primary,6个Mirror,另外2台部署了Master和Standby

3)内核参数的配置和调整

除了基础的kernel.shmmax和kernel.shmall配置之外,还有如下的一些配置需要调整:

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

vm.min_free_kbytes = 3943084

vm.overcommit_memory=2

kernel.sem = 500 2048000 200 4096

集群部署的大体流程:

1)首先是配置/etc/hosts,需要把所有节点的IP和主机名都整理出来。

2)配置用户,很常规的步骤

groupadd gpadmin

useradd gpadmin -g gpadmin

passwd gpadmin

3)配置sysctl.conf和资源配置

4)使用rpm模式安装

yum install -y apr apr-util bzip2 krb5-devel zip

# rpm -ivh open-source-greenplum-db-6.16.2-rhel7-x86_64.rpm

Preparing... ################################# [100%]

Updating / installing...

1:open-source-greenplum-db-6-6.16.2################################# [100%]

5)配置两个host文件,也是为了后面进行统一部署方便,在此建议先开启gpadmin的sudo权限,可以通过gpssh处理一些较为复杂的批量操作

6)通过gpssh-exkeys来打通ssh信任关系,这里需要吐槽这个ssh互信,端口还得是22,否则处理起来很麻烦

gpssh-exkeys -f hostlist

7)较为复杂的一步是打包master的Greenplum-db-6.16.2软件,然后分发到各个segment机器中,整个过程涉及文件打包,批量传输和配置,可以借助gpscp和gpssh,比如gpscp传输文件,如下的命令会传输到/tmp目录下

gpscp -f /usr/local/greenplum-db/conf/hostlist /tmp/greenplum-db-6.16.2.tar.gz =:/tmp

8)Master节点需要单独配置相关的目录,而Segment节点的目录可以提前规划好,比如我们把Primary和Mirror放在不同的分区。

mkdir -p /data1/gpdata/gpdatap1

mkdir -p /data1/gpdata/gpdatap2

mkdir -p /data2/gpdata/gpdatam1

mkdir -p /data2/gpdata/gpdatam2

9)整个过程里最关键的就是gpinitsystem_config配置了,因为Segment节点的ID配置和命名,端口区间都是根据一定的规则来动态生成的,所以对于目录的配置需要额外注意。

10)部署GP集群最关键的命令是

gpinitsystem -c gpinitsystem_config -s 【standby_hostname】

整个过程大约5分钟~10分钟以内会完成。

在此也走了不少弯路,比如一些配置不完整,防火墙权限不够,导致部署的时候界面卡在那里,

比如其中一个问题,/etc/hosts 配置不全 导致Primary可以启动,但是Mirror无法启动,问题看起来很奇怪,而且从GP的日志里面的信息也很简略,如果难以定位,还可以直接到相应的Segment节点上查看相应的日志,查看日志是个技术活,如果出现卡顿,不要干等着,得看看后端到底在哪个环节卡住了,需要同步查看日志的刷新来进行问题的定位和修正,在这方面GP的一些安装体验还是比较粗糙的。

安装部署这件事,就像一个无形的门槛,只要自己做过一次,相信这些步骤都很简单,反之就像一座绕不开的大山,始终绕不过去,对于安装部署,最全面的文档还是官方文档。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
面相全变了!再看41岁王珞丹和41岁白百何,才明白两人"差别"在哪

面相全变了!再看41岁王珞丹和41岁白百何,才明白两人"差别"在哪

娱乐圈笔娱君
2025-11-12 14:20:47
柬埔寨“优秀企业家” 陈志必须死,手上10个电诈园的锅他必须背

柬埔寨“优秀企业家” 陈志必须死,手上10个电诈园的锅他必须背

我心纵横天地间
2025-10-28 16:54:17
同样是武术演员,谢苗登上全运会舞台,和释小龙走上了不一样的路

同样是武术演员,谢苗登上全运会舞台,和释小龙走上了不一样的路

查尔菲的笔记
2025-11-11 18:05:19
26岁男子肺癌晚期,从不抽烟喝酒,医生问后才知:晚上常做两件事

26岁男子肺癌晚期,从不抽烟喝酒,医生问后才知:晚上常做两件事

游古史
2025-10-09 10:57:34
英国已做好准备,随时参战,它的动机是什么?

英国已做好准备,随时参战,它的动机是什么?

高博新视野
2025-11-09 17:03:08
全运会团体决赛对阵出炉:陈雨菲何冰娇会师,石宇奇带队冲击冠军

全运会团体决赛对阵出炉:陈雨菲何冰娇会师,石宇奇带队冲击冠军

钉钉陌上花开
2025-11-13 00:03:21
萨科齐狱中20天获释,只敢吃酸奶,担心中毒

萨科齐狱中20天获释,只敢吃酸奶,担心中毒

养牛的大昆
2025-11-11 20:19:05
年轻人正在逃离上海!上海月薪8500房租3200,撤离上海的年轻人们,放弃万元月薪选择及时止损

年轻人正在逃离上海!上海月薪8500房租3200,撤离上海的年轻人们,放弃万元月薪选择及时止损

流年拾光
2025-10-23 20:33:16
每体:奥尔莫是巴萨新的中场多面手,他的特质符合弗里克需求

每体:奥尔莫是巴萨新的中场多面手,他的特质符合弗里克需求

懂球帝
2025-11-12 15:46:35
警告:Switch、Switch2最新21.0.0系统现烧毁风险,谨慎升级!

警告:Switch、Switch2最新21.0.0系统现烧毁风险,谨慎升级!

叨叨游戏
2025-11-12 23:02:55
38岁高叶“透视”上海滩!阿玛尼加身,熟龄魅力挡不住!

38岁高叶“透视”上海滩!阿玛尼加身,熟龄魅力挡不住!

锋哥与八卦哥
2025-11-09 11:15:59
仅仅是在KTV上班一周,女朋友就跟换了个人一样,为什么?

仅仅是在KTV上班一周,女朋友就跟换了个人一样,为什么?

新时代的两性情感
2025-10-21 02:15:25
仗打不下去了!全世界都没料到,俄罗斯突然把朝鲜“卖了”?

仗打不下去了!全世界都没料到,俄罗斯突然把朝鲜“卖了”?

趣生活
2025-11-11 19:19:54
车站规模为15台30线,上海第二大高铁枢纽站封顶

车站规模为15台30线,上海第二大高铁枢纽站封顶

记录生活日常阿蜴
2025-11-12 04:34:27
乌军绝地反击,俄军被打得晕头转向!

乌军绝地反击,俄军被打得晕头转向!

世界探索者探索
2025-11-08 23:27:45
安徽省4所高校遭点名通报,学位恐被贬值,考生务必谨慎报考哦

安徽省4所高校遭点名通报,学位恐被贬值,考生务必谨慎报考哦

前沿天地
2025-11-12 14:34:21
缅北四大家族被同盟军包围,情急之下向西方求助:我们有邻国证据

缅北四大家族被同盟军包围,情急之下向西方求助:我们有邻国证据

真实故事汇
2023-11-14 17:55:20
官方回应“江苏车牌将启动新字母号段”

官方回应“江苏车牌将启动新字母号段”

鲁中晨报
2025-11-11 12:39:02
涉案资金超2.7万亿元,泰国将向中国引渡跨境网赌头目

涉案资金超2.7万亿元,泰国将向中国引渡跨境网赌头目

澎湃新闻
2025-11-12 12:12:05
2016年他们租养鸡场盗墓,2300万卖给香港人,望风的都分了70万

2016年他们租养鸡场盗墓,2300万卖给香港人,望风的都分了70万

收藏大视界
2025-11-03 20:44:38
2025-11-13 02:43:00
杨建荣的数据库笔记
杨建荣的数据库笔记
专注于数据库和开源技术
434文章数 1862关注度
往期回顾 全部

科技要闻

前阿里人亲述: “经济上行”期双11什么样

头条要闻

涉赌诈头目佘智江被引渡回中国 涉案资金超2.7万亿元

头条要闻

涉赌诈头目佘智江被引渡回中国 涉案资金超2.7万亿元

体育要闻

消磨你上千小时的足球游戏,走过第20年

娱乐要闻

再王珞丹和白百何 明白两人"差别"在哪

财经要闻

段永平最新访谈:聊企业经营 投资理念

汽车要闻

7座皆独立座椅/新增5座版 体验第三代吉利豪越L

态度原创

旅游
健康
数码
公开课
军事航空

旅游要闻

638栋楼的灯光秀,与滕王阁的千年对话

血液科专家揭秘白血病七大误区

数码要闻

京东11.11办公平板成交额同比增150% 游戏平板表现亮眼

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

美媒爆出猛料 "北溪"破坏行动由扎卢日内指挥

无障碍浏览 进入关怀版