Hadoop yarn 技术分享
  • 介绍
  • YARN Service
  • 事件处理
    • AsyncDispatcher
    • stateMachine
  • YARN RPC
    • RPC 设计
    • RPC 实现
  • 交互协议
  • 提交app的过程
    • 提交APP概要
    • 客户端提交app
    • RM接收请求
    • RM分配App
    • RM下发App
    • NM拉起APP
  • YARN 高可用
    • RM HA 基础
    • RM HA
  • YARN调度策略
    • Untitled
    • YARN-队列配置
  • 问题分析总结
    • 集群繁忙时偶发性空指针导致app执行失败
    • YARN 资源充足,但app等待调度排长队
    • YARN UI看不了app 日志
    • YARN UI看不了app 日志2
    • TEZ 资源不释放问题分析
    • NM频繁挂掉
    • container执行异常
    • YARN RM主备切换异常
Powered by GitBook
On this page

Was this helpful?

  1. YARN 高可用

RM HA 基础

RM HA 基础知识

PreviousYARN 高可用NextRM HA

Last updated 5 years ago

Was this helpful?

结合代码和 可以确定 RM 并没有在切换过程中处理fence,而是将隔离操作赋权给RMStateStore ,推荐的方式是:ZKRMStateStore

RM 是如何 用ZKRMStateStore来避免脑裂 正常情况下,zk 上存储的RM 信息格式

[zk: tbds-10-1-3-18:2181,tbds-10-1-3-30:2181,tbds-10-1-3-20:2181(CONNECTED) 10] ls /rmstore
[ZKRMStateRoot]
[zk: tbds-10-1-3-18:2181,tbds-10-1-3-30:2181,tbds-10-1-3-20:2181(CONNECTED) 11] ls /rmstore/ZKRMStateRoot
[RMAppRoot, AMRMTokenSecretManagerRoot, EpochNode, RMDTSecretManagerRoot, RMVersionNode]

通过/rmstore/ZKRMStateRoot 节点的权限,可知同时只能有一个用户能进行写操作

[zk: tbds-10-1-3-18:2181,tbds-10-1-3-30:2181,tbds-10-1-3-20:2181(CONNECTED) 4] getAcl /rmstore/ZKRMStateRoot
'world,'anyone
: rwa
'digest,'tbds-10-1-3-26:vqMG85jYBFVbN5G2KRaOrqZVeqc=
: cd

获取zookeeper 节点权限 getAcl node zookeeper 权限信息说明 参考:

因为强依赖zk,所以有必要了解一下 node 属性信息,如 dataVersion 等,参考:

RM HA更多参考:

http://hackershell.cn/?p=1174
http://www.yoonper.com/post.php?id=47
https://blog.csdn.net/lihao21/article/details/51810395
https://docs.cloudera.com/documentation/enterprise/6/6.3/topics/cdh_hag_rm_ha_config.html#xd_583c10bfdbd326ba--43d5fd93-1410993f8c2--7f77