重启MRS集群
MRS集群运行过程中,在修改了组件的配置项、基础资源故障或者服务进程异常等运维场景中,需要对集群内组件进行重启操作。
MRS集群内组件支持普通重启与滚动重启两种方式:
- 普通重启:直接并发重启集群内所有服务或实例,可能引起业务中断。
- 滚动重启:在尽可能不中断业务的前提下对相关对象进行的重启操作。与普通重启相比,滚动重启通常不会导致服务业务中断,但是将比普通重启要花费更长的时间,且对应服务的吞吐量、性能等可能会受到影响。为了确保服务重启过程中,尽量减少或者不影响业务运行,可以通过滚动重启来按批次重启服务或实例(对于有主备状态的实例,会先重启备实例,再重启主实例)。
各组件滚动重启时的业务影响说明如表2所示。

重启集群会导致集群内组件停止对外服务,从而影响上层应用或作业的正常运行,建议在低业务负载时间段进行滚动重启操作。
约束与限制
- MRS集群中部分组件不支持滚动重启,在执行滚动重启集群的过程中,不支持滚动重启的组件仍将以普通重启方式进行重启,可参考组件重启参考信息。
- 如果修改了端口类等需要尽快生效的配置(例如服务端的端口),则不建议通过滚动重启的方式使之生效,建议采用普通重启。
对系统的影响
集群滚动重启过程中,各组件滚动重启时的影响说明如表2所示。
重启MRS集群
用户可通过MRS管理控制台直接重启MRS集群,也可登录集群Manager界面后对集群进行重启操作。
- 登录MRS管理控制台。
- 选择 ,单击集群名称进入集群详情页面。
- 在页面右上角选择“管理操作 > 滚动重启集群”。
图1 滚动重启集群
- 弹出“滚动重启集群”页面,勾选“仅重启配置过期的实例”,单击确定,开始滚动重启集群。
- 滚动重启任务完成后,单击“完成”。
- 登录MRS集群Manager界面。
登录集群Manager界面请参考访问MRS集群Manager。
- 选择
。
- MRS 3.3.0及之后版本的Manager界面中,“集群 > 概览”页面已移除,可直接在“主页”界面的“更多”菜单中执行集群相关维护管理功能。
- 可根据需要选择“重启”或“滚动重启”,滚动重启可以最大程度地降低对业务的影响,但比普通的重启花费的时间更长。
- 输入当前登录的用户密码确认身份,单击“确定”。
- 如果选择滚动重启,根据实际情况调整相关参数。
图2 滚动重启
表1 滚动重启参数 参数名称
示例
描述
“只重启集群内配置过期的实例”
-
是否只重启集群内修改过配置的实例。
“启用机架策略”
-
是否启用机架并发滚动重启策略,只对满足机架策略滚动重启的角色(角色支持机架感知功能,且角色下的实例归属于2个或2个以上的机架)生效。
该参数仅在滚动重启HDFS、Yarn时可设置。
“数据节点滚动重启并发数”
1
采用分批并发滚动重启策略的数据节点实例每一个批次重启的实例数,默认为1。
- 该参数仅对同时满足“采用并发滚动策略”和“实例为数据节点”两个条件时才有效。
- 当启用机架策略时,该参数将失效,集群以机架策略默认配置的最大实例数(默认值为20)作为一个机架内分批并发重启的最大实例数。
- 该参数仅在滚动重启HDFS、HBase、Yarn、Kafka、Storm、Flume时可设置。
- HBase的RegionServer滚动重启的并发数不支持手动配置,会根据RegionServer的节点数自行调整,调整规则为:30节点以内,每个批次1个节点;300节点以内,每个批次2个节点;300节点以上(含300节点),每个批次1%(向下取整)个节点。
“批次时间间隔”
0
滚动重启实例批次之间的间隔时间,默认为0。
“退服超时时间”
1800
角色实例在滚动重启过程中的退服等待时间,默认为1800s。
部分角色(例如HiveServer、JDBCServer)在滚动重启前会暂时停止提供服务,该状态下的实例不可再接入新的客户端连接,而已经存在的连接需要等待一段时间才能完成,配置合适的超时时间参数能尽可能地保证业务不中断。
该参数仅在滚动重启Hive、Spark/Spark2x时可设置。
“批次容错阈值”
0
滚动重启实例批次执行失败容错次数,默认为0,即表示任意一个批次的实例重启失败后,滚动重启任务终止。
“数据节点滚动重启并发数”、“批次时间间隔”、“批次容错阈值”等高级参数需要根据实际情况合理设置,否则可能导致服务业务中断或者严重影响性能,请谨慎调整。
例如:
- “数据节点滚动重启并发数”过大,同时重启多个实例导致服务业务中断或者由于剩余工作实例较少严重影响性能。
- “批次容错阈值”过大,某一批次实例失败后继续重启下一批次实例,导致服务业务中断。
- 单击“确定”,等待重启完成。
参考信息
滚动重启组件实例期间对系统影响如表2所示:
组件名称 |
业务中断说明 |
系统受影响的说明 |
---|---|---|
ClickHouse |
滚动重启过程中,已经提交的业务如果在超时时间内(默认30分钟)可以执行完成,则无影响。 |
正在执行滚动重启的节点将会拒绝所有新请求(影响单副本业务和on cluster操作,以及直连当前重启实例的业务),正在执行的请求若在超时时间(默认30分钟)内没有执行完会失败。 |
DBService |
滚动重启过程中,业务均正常。 |
滚动重启过程中可能会出现DBService主备节点心跳中断告警。 |
Doris |
需要满足以下条件,滚动重启过程中Doris业务才会不中断:
|
滚动重启中,总的资源量会下降影响任务最大内存/cpu使用量,极端情况任务会出现资源不足失败,对于运行时间超时(滚动默认30分钟)失败的任务,建议进行重试。 |
Flink |
滚动重启过程中,业务均正常。 |
滚动重启过程中,FlinkServer UI将无法访问。 |
Flume |
满足如下条件才能做到业务不中断、数据不丢失:
|
|
Guardian |
滚动重启过程中,业务均正常。 |
无 |
HBase |
滚动重启过程中,HBase的读写业务正常。 |
|
HDFS |
|
当为第三方客户端时,滚动重启过程中无法保证第三方客户端可靠性。 |
HetuEngine |
|
|
Hive |
滚动重启过程中,执行时间超过退服超时时间的业务可能失败。 |
|
Kafka |
滚动重启过程中,Kafka多副本的Topic读写业务正常,单副本Topic会中断业务。 |
|
KrbServer |
滚动重启过程中,业务正常。 |
滚动重启过程中,集群Kerberos认证耗时可能会增加。 |
LdapServer |
滚动重启过程中,业务正常。 |
滚动重启过程中,集群Kerberos认证耗时可能会增加。 |
Mapreduce |
无 |
|
Ranger |
滚动重启过程中,业务均正常。 |
Ranger的RangerAdmin、RangerKMS、PolicySync实例均为双活配置,滚动重启过程中可轮流对外提供服务,UserSync仅支持一个实例配置,重启过程中无法同步用户。 用户同步周期为五分钟,而UserSync重启时间较短,因此对用户同步的影响较小。 |
Spark |
除列出的几项限制外,其他业务均不受影响。 |
|
Yarn |
|
Yarn滚动重启过程中,在Yarn上运行的任务可能会因为重试次数过多导致业务异常。 |
ZooKeeper |
滚动重启过程中,ZooKeeper的读写业务正常。 |
|