一 DataNode的作用
首先是对本地数据块的管理,然后和其他实体,例如客户端,NameNode,以及其他的DataNode之间的交互。
二与NameNode心跳
datanode以固定周期向namenode发送心跳,如果namenode在一段时间内没有收到心跳,就会标记此datanode为宕机。关于这段时间的计算公式:
timeout=2*heartbeat.recheck.interval+10*dfs.heartbeat.interval
而heartbeat.recheck.interval大小默认为5分钟
dfs.heartbeat.interval默认为30秒,所以namenode在10分钟30秒没有收到datanode的信息,则认为dead.
注意:在配置hdfs-site.xml中,heartbeat.recheck.interval的单位为毫秒,dfs.heartbeat.interval单位为妙。
DataNode中对数据块的管理,写入是流式结构。