1.简单hdfs集群中存在的问题
- 不能存在两个NameNode
- 单节点问题 单节点故障转移
2.解决单节点问题
- 找额外一个NameNode备份原有的数据 会出现脑裂
- 脑裂:一个集群中多个管理者数据不一致 这种情况称之为脑裂
3.如何解决启动多个NameNode时保证同一时刻只有一个NameNode工作 避免脑裂发生
QJM 使用Zookeeper完成高可用
4.面试问题
在HA集群中 如果zk与NameNode(active) 出现网络延迟这种情况时,zk会自动切换NameNode(standy) 为活跃节点 这个时候集群中就出现了多个NameNode active 进而出现脑裂问题
Journal Node可以解决脑裂问题 它有两个作用:
- 负责NameNode中edits同步
- 隔离机制 保证在这一时刻只能有一个NameNode active 使用ssh登录到NameNode节点上使用kill命令杀死NameNode