hdfs简介:
hdfs包含 NameNode、DataNode、SecondaryNamenode
NameNode: 存储文件的元数据信息 fsiamge editlog 读写请求记录
DataNode: 存储实际的文件数据
SecondaryNamenode: 合并内存中edit los到fsimage文件中
-为什么要使用HA
Hadoop生态圈大部分组件都是master/slave架构的
master/slave架构的缺点:
一个主节点NameNode 多个从节点DataNode
如果NameNode节点宕机,集群将无法对外服务
HA使用了active nn和standby nn 两个节点来防止单点障碍,active nn节点向外提供服务。
当active nn节点宕机后有standby nn节点切换为active 状态对外提供服务。
两个节点通过JN集群共享状态,通过ZKFC选举active,监控状态,自动备援。
DN会同时向两个nn节点发送心跳,这样当active节点宕机后standby节点可以立即进入状态对外提供服务。
HDFS HA架构图
active nn节点:
接收client的请求并处理,将editlog写入到本节点,也向JN共享存储发送editlog文件。
同时完成namenode的工作,接收DN的block report,block location updates 和 heartbeat
-standby nn节点:
接收到来自JN的editlog并执行这些log操作,使自己的NN的元数据和activenn的元数据