缩容集群
用户可以根据业务需求量,通过简单的缩减Core节点或者Task节点,对集群进行缩容,以使MRS拥有更优的存储、计算能力,降低运维成本。
当集群正在进行主备同步操作时,不允许进行缩容操作。
背景信息
目前支持缩容Core节点和Task节点,不支持缩容Master节点。对集群进行缩容时,只需要在界面调整节点个数,MRS会自动选择缩容节点,完成缩容任务。
自动选择缩容节点的策略如下:
- 不允许缩容安装了基础组件(Zookeeper,DBService,KrbServer,LdapServer等)的节点,MRS不会选择这些节点进行缩容。因为这些基础组件是集群运行的基础。
- Core节点是存放集群业务数据的节点,在缩容时必须保证待缩容节点上的数据被完整迁移到其他节点,即完成各个组件的退服之后,才会执行缩容的后续操作(节点退出Manager和删除ECS等)。在选择Core节点时,会优先选择存储数据量较小,且可退服实例健康状态良好的节点,避免节点退服失败。例如在分析集群上,Core节点安装了DataNode,缩容时会优先选择DataNode存储数据量较小且健康状态良好的节点。
Core节点在缩容的时候,会对原节点上的数据进行迁移。业务上如果对数据位置做了缓存,客户端自动刷新位置信息可能会影响时延。缩容节点可能会影响部分HBase on HDFS数据的第一次访问响应时长,可以重启HBase或者对相关的表Disable/Enable来避免。
- Task节点本身不存储集群数据,属于计算节点,不存在节点数据迁移的问题。因此在选择Task节点时,优先选择健康状态为故障、未知、亚健康的节点进行缩容。这些节点实例的健康状态信息可以在MRS上的“实例”管理界面查看。
缩容校验策略
缩容节点选择完成后,为了避免组件退服失败,不同组件提供了不同的退服约束规则,只有满足了所有安装组件的退服约束规则才允许缩容。缩容校验策略如表1所示。
组件名称 |
退服约束规则 |
---|---|
HDFS/DataNode |
规则:缩容后节点数不小于当前HDFS的副本数且HDFS数据总量不超过缩容后HDFS集群总容量的80%,可以执行缩容操作。 原因:确保缩容后剩余空间足够存放现有数据,并预留一部分空间。
说明:
为了保证数据的可靠性,HDFS中每保存一个文件则自动生成1个备份文件,即默认共2个副本。 |
HBase/RegionServer |
规则:除缩容节点外,其他节点RegionServer剩余可用内存的总和,大于所选缩容节点RegionServer当前使用内存的1.2倍。 原因:当一个节点退服时,这个节点上的Region会迁移到其他节点,所以其他节点的可用内存必须足够才能负担起退服节点的Region。 |
Storm/ Supervisor |
规则:缩容后集群slot数足够运行当前已提交的任务。 原因:防止缩容后没有充足的资源运行流处理任务。 |
Flume/FlumeServer |
规则:节点安装了FlumeServer,并且已经配置了Flume任务,则该节点不能删除。 原因:防止误删了已部署的业务程序。 |
ClickHouse/ClickHouseServer |
规则:具体请参缩容ClickHouseServer约束限制章节。 原因:保障退服节点数据迁移到未退服节点。 |
指定数量缩容
- 登录MRS管理控制台。
- 选择“集群列表 > 现有集群”,选中一个运行中的集群并单击集群名称,进入集群信息页面。
- 选择“节点管理”页签,在需要缩容的节点组的“操作”列,单击“缩容”,进入缩容集群页面。
只有运行中的集群且集群中的节点都在运行中才能进行该操作。
- “缩容类型”选择“指定数量缩容”。
- 设置“缩容节点数量”,并单击“确定”。
- 缩容集群前需要检查集群安全组是否配置正确,要确保集群入方向安全组规则中有一条全部协议,全部端口,源地址为可信任的IP访问范围的规则。
- 若HDFS存在损坏的数据块,则缩容集群可能出现失败,请联系支持人员处理。
- 页面右上角弹出缩容节点提交成功提示框。
集群缩容过程说明如下:
- 缩容中:集群正在缩容时集群状态为“缩容中”。已提交的作业会继续执行,也可以提交新的作业,但不允许继续缩容和删除集群,也不建议重启集群和修改集群配置。
- 缩容成功:集群缩容成功后集群状态为“运行中”。
- 缩容失败:集群缩容失败时集群状态为“运行中”。用户可以执行作业,也可以重新进行缩容操作。
缩容成功后,可以在集群详情的“节点管理”页签查看集群的节点信息。
指定节点缩容
当节点不再需要时,使用该功能删除节点,删除节点时组件的角色实例不会执行退服操作,删除前请确保节点中的数据已完成备份。缩容ClickHouseServer实例节点请参考缩容ClickHouseServer。
- 登录Manager页面,选择“主机”。
- 勾选待缩容主机,并选择“更多 > 隔离”完成主机隔离。
隔离主机过程的时长取决于节点中数据量,数据量越大则时间越长,请耐心等待。
节点隔离成功后,节点状态显示为“已隔离”。
- 若主机隔离失败,请登录Manager,单击在任务列表中查询并单击隔离主机失败的任务名,根据界面提示信息处理。
- 隔离主机步骤可以帮您完成节点退服操作,若已确保节点中的数据已完成备份,可跳过“隔离主机”的操作,直接在ECS控制台将主机关机再进行缩容。
- 在主机故障场景下,请直接进行强制指定节点缩容。
- 登录MRS控制台。
- 单击集群名称进入集群详情页面。
- 单击“节点管理”。
- 单击对应节点组“操作”列的“缩容”,进入缩容页面。
- “缩容类型”选择“指定节点缩容”,勾选待缩容节点。
处于“关机”、“失联”、“未知”、“已隔离”及“故障”状态的节点可以被指定缩容。若节点无法勾选,请单击“跳转关机”进入ECS页面将对应节点关机,并在MRS集群详情页面单击“告警管理”,观察关机后是否有影响业务的告警出现,若无影响业务的告警则回到缩容页面选择对应的节点进行缩容,若有影响业务的告警请处理告警后再进行缩容。
- 勾选“我已经阅读上述信息,并了解具体影响。”并单击“确定”。
- 单击“组件管理”观察各个组件是否存在异常,若存在异常等待5~10分钟后再次观察组件,依然存在异常则联系技术支持处理。
- 单击“告警管理”观察是否存在异常告警,若存在请清除告警后再进行其他操作。