资讯专栏INFORMATION COLUMN

GreenPlum生产环境SEGMENT节点扩容方案

IT那活儿 / 3686人阅读
GreenPlum生产环境SEGMENT节点扩容方案

点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!

Greenplum镜像策略

grouped方式是将每个Host的镜像都放在下一个host上,所有计算节点形成一个环。在扩展segment时,要求新增主机数量为2的倍数。

spread方式是将每个Host的镜像依次分散到后续的Segment主机上。在扩展segment时,要新增主机数大于每个segment上的Primary节点个数。

新增主机硬件资源

类型
建议
操作系统
和原始集群操作系统版本保持一致
CPU
建议和原始集群CPU相同,至少保证性能不低于原始
MEM
建议和原始集群segment上内存大小至少保持一致(频率等)
磁盘
建议对新机器磁盘做压力测试,保证性能不低于原始集群
数据目录名
和原始集群保持一致


集群扩展前置工作

1. 新增主机修改主机名

vi /etc/hostname
2. 配置/etc/hosts
所有主机都需要进行配置,将新增主机加入到原始集群。

3. 配置SSH免密

将新增主机和原始集群中各个segment和master、standby节点配置SSH免密。

4. 安装Greenplum软件包

4.1 安装依赖包

yum -y install rsync coreutils glib2 sysstat e4fsprogs 
xfsprogs ntp readline readline-devel zlib zlib-devel openssl
openssl-devel pam pam-devel libxml2 libxml2-devel libxslt
libxslt-devel python python-devel tcl tcl-devel gcc gcc-c++
make smartmontools flex flex-devel bison bison-devel bison-
runtime perl perl-devel perl-ExtUtils* OpenIPMI-tools
openldap openldap-devel logrotate ldapjdk ldapjdk-devel
libevent libevent-devel libcurl libcurl-devel bzip2 bzip2-
devel bzip2-libs libyml libyml-devel libyaml libyaml-devel
apr-util-devel apr-devel uuid uuid-devel systemd* cur-devel
ed python-psutil python-paramiko python-lockfile libssh2
libss2-devel icu libicu libicu-devel libaio libaio-devel
libtool isomd5sum isomd5sum-devel liblockfile liblockfile-devel psutils

4.2 关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service

4.3 创建用户和用户组

groupadd gpadmin
useradd -g gpadmin gpadmin
passwd gpadmin

4.4 关闭selinux

vi /etc/selinux/config
修改:SELINUX=disabled

4.5 修改主机内核参数

建议:和原始集群segment上内核参数保持一致。

4.6 修改用户资源限制

cat /etc/security/limit.conf
建议:和原始集群segment上用户资源限制保持一致。

4.7 安装greenplum软件

yum install -y greenplum-4.3.33.rpm

安装完毕后,配置环境变量。

集群扩展segment

1. 生成扩展配置文件

1)生成主机列表
编辑文件,保存新增segment主机名。
内容如下:
2)生成扩展配置文件
Create database test;
gpexpand -f hosts_file -D test

内容如下:

2. 执行扩展配置

Gpssh -f new_host -e “mkdir -p 
/data/{primary1,primary2,primary3,primary4,primary5,
primary6,mirror1,mirror2,mirror3,mirror4,mirror5,mirror6}”
gpexpand -i gpexpand_inputfile_20200105_124630 -D test
[ gpadmin@master ~]$ gpexpand -f /gp/new_hosts -D test
Would you like to initiate a new System Expansion Yy|Nn (default=N): 你想开始一个新的系统扩展?
> y
What type of mirroring strategy would you like? 你使用什么类型的镜像策略?
spread|grouped (default=grouped):
> spread
How many new primary segments per host do you want to add? (default=0): 你想添加多少新的节点每台?
> 0
Enter new primary data directory 1: 新加primary节点的地址路径
>
Enter new mirror data directory 1: 新加mirror节点 的地址路 径
>
注意:要保证新增segment主机上的数据存储路径和原始segment主机上路径名相同。
如果出题:
  • 将GP集群,启动到master状态 gpstart -m;
  • 执行gpextend –rollback;
  • 执行 gpstart -a。

3. 检查新增SEGMENT主机信息是否写入系统

执行SQL:
SELECT * FROM  GP_SEGMENT_CONFIGURATION;

4. 执行数据重分布

gpexpand -d 60:00:00 -a -n 8 -D test
注意:监控主机资源。

5. 监控数据冲分布进程

通过内置视图:gp_expand.status、gp_expand.status_detaild、gp_expand. expansion_process,进行监控。

6. 移除扩展模式

在数据重分布完成后,及时将扩展模式移除:gpexpand -c -D test。

7. 查看重分布后集群状态

gpstate -s

方案缺点

  • 在重分布期间,业务无法访问。在执行过程中,确保无活动的作业;
  • 在数据重分布期间,分布进程因资源不足等情况意外宕机,此时集群无法正常提供服务,需要对数据重分布作业进行回滚;
  • 在重分布过程,网络负载较高,及时做好网络隔离,避免影响其他业务;
  • 由于本次集群数据量较大预估接近(85TB),整个作业完成耗时较久;
  • 建议集群扩展节点之前,对数据进行备份,避免意外情况导致数据丢失。

本文作者:魏 强(上海新炬王翦团队)

本文来源:“IT那活儿”公众号

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129363.html

相关文章

  • 数据仓库架构的变迁

    摘要:前面我们简单阐述了分布式数据库的架构,并通过一条简单的查询语句解释了分布式的执行计划。 引言 第八届中国架构师大会(SACC2016)10月27号到29号在北京万达索菲特大饭店成功举办。大会以架构创新之路为主题,云集了国内外顶尖专家,共同探讨云计算和大数据等技术背景下,如何通过架构创新及各种IT新技术来带动企业转型增效。作为一家专注于云端数据仓库的初创公司,酷克数据受邀在SACC201...

    Raaabbit 评论0 收藏0
  • centos7.3下 greenplum-db 安装、配置文档

    摘要:下安装配置文档一系统要求系统版本要求根据官方文档支持以下几种系统文件系统要求数据存储目录为文件系统二下安装服务器列表主节点数据节点数据节点主节点切换备用节点修改系统配置项关闭关闭防火墙修改内核配置参数并执行使之生 centos7.3下 greenplum-db 安装、配置文档 一.系统要求 1.系统版本要求:根据官方文档: greenplumd-b支持以下几种linux系统: ...

    neuSnail 评论0 收藏0
  • 探索Greenplum的实践,了解新一代大数据处理利器

    摘要:上有主节点和从节点两部分,两者主要的功能是生成查询计划并派发,以及协调并行计算,同时在上保存着,这个全局目录存着一组数据库系统本身所具有的元数据的系统表。 前言:近年来,互联网的快速发展积累了海量大数据,而在这些大数据的处理上,不同技术栈所具备的性能也有所不同,如何快速有效地处理这些庞大的数据仓,成为很多运营者为之苦恼的问题!随着Greenplum的异军突起,以往大数据仓库所面临的很多...

    supernavy 评论0 收藏0
  • 个推基于 Apache Pulsar 的优先级队列方案

    摘要:二基于的优先级队列方案针对以上场景,个推基于设计了第一版的优先级队列方案。架构在该方案中,个推将优先级统一设定为高中低三个级别。六总结现在个推针对优先级中间件的改造方案已经在部分现网业务中试运行,对于的稳定性,我们还在持续关注中。 showImg(https://segmentfault.com/img/remote/1460000018868129);作者:个推平台研发工程师 祥子 ...

    bingchen 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<