集群重启包括 RM 重启和 NM 重启两部分。
RM 重启:
RM 运行过程中会将关键信息存储在 Zookeeper 中,重启时会重新 load ZK 中的关键信息来恢复内存中的记录,同时也会从 NM 的重新注册和心跳上报逻辑获取另一部分信息,来保证重启过程中不会出现信息丢失。
NM 重启:
NM 运行过程中会将关键信息存储在本地的 LevelDb 中,NM 重启不会影响在节点本地运行的 Container 进程,重启后会通过本地存储重新与进程取得通信,以便于实时更新任务运行状态。
正常 NodeManager 启动在 Task 或 Core 节点上,可以管理整个节点的资源。但由于需要给系统进程留下资源 Buffer,所以 NodeManager 可管理资源的计算规则为:
可管理 Core 数 = 节点总 Core 数 - 1
可管理 Memory MB数 = 节点总 Memory MB 数 - 20000
原因剖析:队列配置错误,比如队列名不支持“_”
解决方案:变更队列名,满足规范即可