转自https://blog.csdn.net/cicada_smile/article/details/109180161
dataNodes跟NameNode关系跟结构如下图
每个DataNode有多个数据块(Block),每个Block有两个文件 1.数据文件 2.元数据文件
DataNode启动后向NameNode注册,然后通过心跳机制(3秒一次)保持通信
DataNode请求NameNode表示自己是正常运行,上报自己的数据块信息,NameNode响应值带有操作DataNode的执行命令,如数据复制或删除
NameNode指定时间内没收到DataNode心跳,就把它当成“不可用”节点
配置文件是hdfs-site.xml
dfs.heartbeat.interval设置心跳时间,单位是秒
上报自己的数据块信息是指
dataNode告诉NameNode,什么文件的第几个block放在它那里,NameNode这个时候会将这些元数据信息写到edit logs文件中。