zookeeper可以用于解决hdfs中NamNode、Yarn中ResourceManager中的单点问题。
以ResourceManager为例,集群中可以存在多个ResourceManager,只有一个处于active状态,其余都是standby状态。
1.刚启动时,所有ResourceManager节点都会去写一个lock临时节点,但是只有一个能写成功。成功写入的节点进入active状态 ,其余的节点都处于standby状态。
2.处于standby状态的节点会注册一个watcher监听lock节点,感知状态变化。
3.当active节点宕机或断网,临时节点消失,watcher动作,从1开始执行。
套路就是:创建临时节点+注册watcher