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

重启集群会导致集群内组件停止对外服务,从而影响上层应用或作业的正常运行,建议在低业务负载时间段进行滚动重启操作。
当前MRS集群中,服务和实例是否支持滚动重启、滚动重启参数说明请参见组件重启参考信息。
约束与限制
- 请在低业务负载时间段进行滚动重启操作。
- 在滚动重启Kafka服务时, 如果Kafka服务业务吞吐量很高(100MB/s以上的情况下),会出现Kafka服务滚动重启失败的情况。
- 在滚动重启HBase服务时候,如果原生界面上每个RegionServer上每秒的请求数超过10000,需要增大handle数来预防重启过程中负载过大导致的RegionServer重启失败。
- 重启前需要观察当前HBase的负载请求数(原生界面上每个RegionServer的请求数如果超过10000,需要增大handle数来预防超出负载)。
- 请优先使用滚动重启操作来重启实例或服务,并勾选“仅重启配置过期的实例”。
对系统的影响
- 在集群Core节点个数小于6个的情况下,可能会出现业务短时间受影响的情况。
- 各组件滚动重启时的影响说明如表4所示。
前提条件
- 如果通过MRS管理控制台操作,需要已完成IAM用户同步(在集群详情页的“概览”页签,单击“IAM用户同步”右侧的“同步”进行IAM用户同步)。
- 如果通过Manager界面操作,需要已登录MRS集群Manager界面,详情请参考访问MRS集群Manager。
重启MRS集群组件
- 进入MRS集群组件管理页面。
- 通过管理控制台操作:登录MRS管理控制台,单击集群名称进入集群详情页面,单击“组件管理”。
- 通过Manager操作(MRS 3.x及之后版本):登录Manager页面,选择“集群 > 服务”。
- 通过Manager操作(MRS 2.x及之前版本):登录Manager页面,单击“服务管理”。
- 单击待操作的组件名称,进入详情页面。
- 在服务详情页面,单击“更多”,根据实际需要选择“重启服务”或“滚动重启服务”。
- 验证操作用户密码(通过Manager操作时需要)并确认操作影响后,单击“确定”进行重启。
选择滚动重启时可以根据实际需要参考表1配置相关参数。(不同版本参数略有差异,请以实际界面显示为准)
图1 通过Manager滚动重启服务表1 滚动重启配置参数 参数名称
示例
描述
只重启配置过期的实例
-
是否只重启集群内修改过配置的实例。
部分版本该参数名称为“仅重启配置过期的实例”,请以实际显示为准。
启用机架策略
-
是否启用机架并发滚动重启策略,只对满足机架策略滚动重启的角色(角色支持机架感知功能,且角色下的实例归属于2个或2个以上的机架)生效。
该参数仅在滚动重启HDFS、Yarn时可设置。
数据节点滚动重启并发数
1
采用分批并发滚动重启策略的数据节点实例每一个批次重启的实例数,默认为1。
批次时间间隔
10
滚动重启实例批次之间的间隔时间,单位为秒,默认值为0。
设置批次时间间隔参数可以增加滚动重启期间大数据组件进程的稳定性。
建议设置该参数为非默认值,例如10。
退服超时时间
1800
角色实例在滚动重启过程中的退服等待时间,单位为秒,该参数仅在滚动重启Hive、Spark时可设置。
部分角色(例如HiveServer、JDBCServer)在滚动重启前会暂时停止提供服务,该状态下的实例不可再接入新的客户端连接,而已经存在的连接需要等待一段时间才能完成,配置合适的超时时间参数能尽可能地保证业务不中断。
批次容错阈值
0
滚动重启实例批次执行失败容错次数,默认为0,即表示任意一个批次的实例重启失败后,滚动重启任务终止。
- 重启或滚动重启服务成功后,对应组件的“运行状态”为“良好”,“配置状态”为“已同步”。
图2 MRS集群组件列表
组件重启参考信息
当前MRS集群中,服务和实例是否支持滚动重启如表2所示。
服务 |
实例 |
是否支持滚动重启 |
---|---|---|
Alluxio |
AlluxioJobMaster |
是 |
AlluxioMaster |
||
ClickHouse |
ClickHouseServer |
是 |
ClickHouseBalancer |
||
CDL |
CDLConnector |
是 |
CDLService |
||
Flink |
FlinkResource |
否 |
FlinkServer |
||
Flume |
Flume |
是 |
MonitorServer |
||
Guardian |
TokenServer |
是 |
HBase |
HMaster |
是 |
RegionServer |
||
ThriftServer |
||
RESTServer |
||
HetuEngine |
HSBroker |
是 |
HSConsole |
||
HSFabric |
||
QAS |
||
HDFS |
NameNode |
是 |
Zkfc |
||
JournalNode |
||
HttpFS |
||
DataNode |
||
Hive |
MetaStore |
是 |
WebHCat |
||
HiveServer |
||
Hue |
Hue |
否 |
Impala |
Impalad |
否 |
StateStore |
||
Catalog |
||
IoTDB |
IoTDBServer |
是 |
Kafka |
Broker |
是 |
KafkaUI |
否 |
|
Kudu |
KuduTserver |
是 |
KuduMaster |
||
Loader |
Sqoop |
否 |
Mapreduce |
JobHistoryServer |
是 |
Oozie |
oozie |
否 |
Presto |
Coordinator |
是 |
Worker |
||
Ranger |
RangerAdmin |
是 |
UserSync |
||
TagSync |
||
Spark |
JobHistory |
是 |
JDBCServer |
||
SparkResource |
||
Storm |
Nimbus |
是 |
UI |
||
Supervisor |
||
Logviewer |
||
Tez |
TezUI |
否 |
Yarn |
ResourceManager |
是 |
NodeManager |
||
ZooKeeper |
Quorumpeer |
是 |
实例启动时长如表3所示:
服务名称 |
重启时长 |
启动时长 |
附加说明 |
---|---|---|---|
IoTDB |
3min |
IoTDBServer:3min |
- |
CDL |
2min |
|
- |
ClickHouse |
4min |
|
- |
HDFS |
10min+x |
|
x为NameNode元数据加载时长,每千万文件大约耗时2分钟,例如5000万文件x为10分钟。 由于受DataNode数据块上报影响启动时间有一定浮动。 |
Yarn |
5min+x |
|
x为ResourceManager保留任务数恢复时长,每1万保留任务大约需要1分钟。 |
Mapreduce |
2min+x |
JobHistoryServer:2min+x |
x为历史任务扫描时长,每10万任务大约2.5分钟。 |
ZooKeeper |
2min+x |
quorumpeer:2min+x |
x为加载znode节点时长,每100万znode大约1分钟。 |
Hive |
3.5min |
|
- |
Spark2x |
5min |
|
- |
Flink |
4min |
|
- |
Kafka |
2min+x |
|
x为数据恢复时长,单实例20000 partition启动所需时长大约2分钟。 |
Storm |
6min |
|
- |
Flume |
3min |
|
- |
Doris |
2分钟 |
|
- |
滚动重启组件实例期间对系统影响如表4所示:
组件名称 |
业务中断说明 |
系统受影响的说明 |
---|---|---|
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的读写业务正常。 |
|
相关文档
- 如果仅需要启动或停止集群组件,请参考启动停止MRS集群组件。
- 如果需要重启MRS集群,请参考重启MRS集群。
- 如果需要重启角色实例,请参考管理MRS角色实例。