HDFS HA (High availability) 架构

1.架构图
HDFS HA (High availability) 架构

叙述:
HA是为了解决单点问题,通过JN集群共享状态,通过ZKFC 选举active,监控状态,自动备援。
DN会同时向active standby nn发送心跳。
ActiveNN:操作记录写到自己的editlog,同时JN集群也会写一份;接收 DN的心跳和blockreportStandbyNN: 接收JN集群的日志, 先是读取执行log操作(重演),使得自己的元数据和activenn节点保持一致; 接收 DN的心跳和blockreport;
JounalNode: 用于 active standby nn节点的同步数据, 部署是2n+1个(3个/5个–>7个)
ZKFC: 单独的进程 监控NN的健康状态
向ZK定期发送心跳,使自己可以被选举;当自己被ZK选举为主的时候,zkfc进程通过RPC调用使NN的状态变为active,对外提供实时服务,无感知

2。命名空间: nameservice: ruozeclusterg5
hdfs dfs -ls /
/=hdfs://ip:9000/

NN1 active–>挂了 192.168.1.100 hdfs dfs -ls /
NN2 standby 192.168.1.101
hdfs dfs -ls hdfs://192.168.1.100:9000/
hdfs://192.168.1.102:9000/

命名空间: nameservice: ruozeclusterg5
hdfs dfs -ls hdfs://ruozeclusterg5/

把NN1和 NN2 统一写成ruozeclusterg5就不用担心谁挂了,ip用不了。

思考:
hdfs ha集群启动的进程顺序 (面试题)