我用3台机器搭建了Hadoop HA集群,用ZooKeeper实现自动切换NameNode。
ZooKeeper集群由master、slave1、slave2 三台机器组成。master、slave1是NameNode。3台机器中的进程如图:
假设现在master机的NameNode是active状态,slave1机的NameNode是standby状态。当我用kill杀死master机的NameNode后,slave1机自动切换active,这种情况自动切换是正常的。
但我如果直接关掉master机,slave1机就不会自动切换,它会一直保持standby状态。这时再开启master机(只是开机,没有运行任何hadoop相关进程),slave1机就自动切换active。
请问为什么关闭机器不会自动切换NameNode状态呢?