重启MRS集群组件
在修改了大数据组件的配置项后,需要重启对应的组件来使得配置生效,使用普通重启方式会并发重启所有服务或实例,可能引起业务中断。
为了确保服务重启过程中,尽量减少或者不影响业务运行,可以通过滚动重启来按批次重启服务或实例(对于有主备状态的实例,会先重启备实例,再重启主实例)。
与普通重启相比,滚动重启不会导致服务业务中断,但是滚动重启将比普通重启要花费更长的时间,且对应服务的吞吐量、性能等可能会受到影响。
当前MRS集群中,服务和实例是否支持滚动重启、滚动重启参数说明请参见组件重启参考信息。
重启MRS集群组件使用限制
- 请在低业务负载时间段进行滚动重启操作。
- 在滚动重启Kafka服务时, 如果Kafka服务业务吞吐量很高(100MB/s以上的情况下),会出现Kafka服务滚动重启失败的情况。
- 在滚动重启HBase服务时候,如果原生界面上每个RegionServer上每秒的请求数超过10000,需要增大handle数来预防重启过程中负载过大导致的RegionServer重启失败。
- 重启前需要观察当前HBase的负载请求数(原生界面上每个RegionServer的请求数如果超过10000,需要增大handle数来预防超出负载)。
- 在集群Core节点个数小于6个的情况下,可能会出现业务短时间受影响的情况。
- 请优先使用滚动重启操作来重启实例或服务,并勾选“仅重启配置过期的实例”。
前提条件
- 如果通过MRS管理控制台操作,需要已完成IAM用户同步(在集群详情页的“概览”页签,单击“IAM用户同步”右侧的“同步”进行IAM用户同步)。
- 如果通过Manager界面操作,需要已登录MRS集群Manager界面,详情请参考访问MRS集群Manager。
重启集群组件步骤
- 进入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,即表示任意一个批次的实例重启失败后,滚动重启任务终止。
组件重启参考信息
当前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分钟 |
|
- |