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

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.

相关推荐
热点推荐
上任后迎新难题!穆里尼奥遇魔鬼赛程,欧冠一胜难求,将对阵皇马

上任后迎新难题!穆里尼奥遇魔鬼赛程,欧冠一胜难求,将对阵皇马

祥谈体育
2025-09-19 10:50:15
翟欣欣涉敲诈勒索案一审宣判

翟欣欣涉敲诈勒索案一审宣判

界面新闻
2025-09-19 10:30:40
1450. 马里乌波尔空运行动

1450. 马里乌波尔空运行动

燃烧的岛群
2025-09-20 09:09:30
中检西部李宝基:20%电动车不合格,印度摩托质量远超自主

中检西部李宝基:20%电动车不合格,印度摩托质量远超自主

经济观察报
2025-09-19 07:54:06
打没打残哈马斯真主党阿萨德伊朗,要完控西岸,只剩胡赛了

打没打残哈马斯真主党阿萨德伊朗,要完控西岸,只剩胡赛了

邵旭峰域
2025-09-17 10:58:49
浙江省公安厅党委专职副书记王建已任省委巡视组组长

浙江省公安厅党委专职副书记王建已任省委巡视组组长

澎湃新闻
2025-09-19 21:48:27
为什么说人类去ktv就几乎废了?网友:我只能说还是注意安全吧

为什么说人类去ktv就几乎废了?网友:我只能说还是注意安全吧

解读热点事件
2025-06-10 00:20:03
斯诺登棱镜门事件,美国CIA派十六名特种兵进入澳门,结局如何

斯诺登棱镜门事件,美国CIA派十六名特种兵进入澳门,结局如何

神奇的锤子
2024-09-18 11:27:13
小米宣布空调10年免费包修,格力高管diss

小米宣布空调10年免费包修,格力高管diss

证券时报e公司
2025-09-19 23:18:41
警花张津瑜已经结婚生子网传一家人开心吃饭照片和吕总恩怨已消散

警花张津瑜已经结婚生子网传一家人开心吃饭照片和吕总恩怨已消散

深度报
2025-09-19 20:47:32
全球媒体聚焦丨“美国炸弹曾落下的地方,竖起了中国风机”

全球媒体聚焦丨“美国炸弹曾落下的地方,竖起了中国风机”

国际在线
2025-09-19 17:57:57
28岁女子去中东旅游被渴死,父母:不收尸,就让她死在国外吧

28岁女子去中东旅游被渴死,父母:不收尸,就让她死在国外吧

罪案洞察者
2025-09-03 13:58:14
南京博物院镇馆之宝:价值9亿的金簪,竟只是16岁小妾的陪葬物

南京博物院镇馆之宝:价值9亿的金簪,竟只是16岁小妾的陪葬物

悦悦侃历史
2025-09-10 15:03:07
36年前陈宝国主演的盗墓恐怖片!尺度大到少儿不宜

36年前陈宝国主演的盗墓恐怖片!尺度大到少儿不宜

释凡电影
2025-08-14 09:33:19
女子20公里竞走杨家玉获第6亚洲失去争金点 西班牙佩雷斯卫冕成功

女子20公里竞走杨家玉获第6亚洲失去争金点 西班牙佩雷斯卫冕成功

劲爆体坛
2025-09-20 08:21:17
刚刚,突发地震!福建震感强烈!

刚刚,突发地震!福建震感强烈!

海峡网
2025-09-20 07:20:49
赖清德遭重大挫败,蒋万安起身访陆,关键时刻,董军发出最强震慑

赖清德遭重大挫败,蒋万安起身访陆,关键时刻,董军发出最强震慑

爱意随风起呀
2025-09-20 08:44:56
国羽丢1冠冲4金!男双全军覆没,2项或会师决赛,陈雨菲爆冷出局

国羽丢1冠冲4金!男双全军覆没,2项或会师决赛,陈雨菲爆冷出局

刘姚尧的文字城堡
2025-09-20 07:55:52
俄罗斯最怕的,从来都不是北约东扩,而是文化霸权覆灭

俄罗斯最怕的,从来都不是北约东扩,而是文化霸权覆灭

史政先锋
2025-09-17 13:50:20
武大终于换帅!而杨景媛没去香港,直播称状态很好,还要起诉网友

武大终于换帅!而杨景媛没去香港,直播称状态很好,还要起诉网友

热点菌本君
2025-09-19 18:12:37
2025-09-20 10:20:49
杨建荣的数据库笔记
杨建荣的数据库笔记
专注于数据库和开源技术
434文章数 1862关注度
往期回顾 全部

科技要闻

字节跳动凌晨发布公告

头条要闻

日本开始一项"史无前例"行动:派多架战斗机前往欧洲

头条要闻

日本开始一项"史无前例"行动:派多架战斗机前往欧洲

体育要闻

亚洲天王效应 孙兴慜球衣售150万件破梅西纪录

娱乐要闻

全智贤被全面抵制!相关代言评论区沦陷

财经要闻

最重要的一个电话,信息量果然很大

汽车要闻

对话周光:一个技术理想主义者的“蜕变”

态度原创

艺术
亲子
家居
旅游
军事航空

艺术要闻

故宫珍藏的墨迹《十七帖》,比拓本更精良,这才是地道的魏晋写法

亲子要闻

45岁高圆圆公园带娃!6岁女儿Rhea四肢修长,小麦肤色活泼可爱

家居要闻

公共艺术 限时体验打造

旅游要闻

热闻|清明假期将至,热门目的地有哪些?

军事要闻

以军两个方向朝加沙城市中心推进

无障碍浏览 进入关怀版