NameNode和DatNode的通信

本文详细介绍了NameNode和DataNode在HDFS中的通信过程,包括NameNode启动时开启IPC服务器,DataNode通过握手验证与注册,DataNode发送block report以及定期的心跳机制,确保NameNode能获取集群的最新状态并进行有效管理。
摘要由CSDN通过智能技术生成


   1) NameNode启动的时候,开启一个ipc server。


   2) DataNode启动时,通过“握手”的方式与NameNode节点连接,之所以采用“握手”方式(参Datanode.java的handshake()),是为了验证DataNode的namespaceID以及layoutVersion。如果一个节点的namespaceID或者layoutVersion不匹配,那么DataNode节点就会自动关闭。namespaceID是在文件系统format的时候就分配好的。namespaceID被在集群内的所有节点上都有持久化存储。


    3)handshake之后,DataNode被注册到NameNode(参考Datanode.java的register())。DataNode持久化保存其唯一的storageID。storageID是一个DataNode的内部标识符,该标识符能够确保即使是服务器用不同的IP地址或者端口启动,仍然可以被识别。storageID在DataNode首次注册到NameNode时即被分配,一旦分配后便无法更改,一个DataNode节点中所有存储路径的storageID是一样的。我们可以通过查看DataNode启动日志:DatanodeRegistration(192.168.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值