【问题标题】:Why datanode sends the block location information to namenode?为什么datanode将块位置信息发送给namenode?
【发布时间】:2015-12-12 13:59:47
【问题描述】:

https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithNFS.html上有一句话:

DataNode 配置了两个 NameNode 的位置,并向两者发送块位置信息和心跳。

但是为什么这些信息会被发送到 namenode 和它的 fallback 兄弟呢?我认为这个信息已经包含在 namenode 的 fs 图像中。 namenode 应该知道他把块放在哪里。

【问题讨论】:

    标签: hadoop hdfs


    【解决方案1】:

    Name Node 包含整个集群的元数据。它包含每个文件夹、文件、复制因子、块名称等的详细信息。名称节点还在内存中存储有关每个文件的块位置的信息(此信息由数据节点发送的块报告构成) .

    数据节点存储每个块的以下信息:

    • 块中存储的实际数据
    • 存储在块中的数据的元数据。主要包含块中存储的数据的校验和。

    它们会定期向名称节点发送心跳和阻塞报告。

    心跳

    • 心跳报告的间隔由配置参数dfs.heartbeat.interval(在 hdfs-site.xml 中)确定。默认设置为 3 秒。
    • 心跳中包含的一些信息是:
      • 注册:数据节点注册信息
      • 容量:数据节点可用的总存储容量
      • dfsUsed:HDFS 使用的存储空间
      • 剩余:可用于 HDFS 的剩余存储空间
      • blockPoolUsed:块池使用的存储空间
      • xmitsInProgress:从该数据节点到其他节点的传输次数
      • xceiverCount:活动收发器线程数
      • xmitsInProgress:从该数据节点到其他节点的传输次数
      • cacheCapacity:数据节点上可用的总缓存容量
      • cacheUsed:使用的缓存量
    • 名称节点通过以下方式使用此信息:
      • 数据节点的健康状况:这个数据节点应该被标记为死的还是活的?
      • 新数据节点的注册:如果是新添加的数据节点,则注册其信息
      • 更新数据节点的指标:心跳中发送的信息用于更新节点的指标
      • 向Data Node下达命令:Name Node可以根据收到的心跳信息向Data Node下达以下命令:BlockRecoveryCommand(恢复指定块),BlockCommand(用于将块传输到另一个数据节点,用于使某些块无效),Cache/Uncache(用于缓存/取消缓存块的命令)

    阻止报告:

    • 块报告的间隔由配置dfs.blockreport.intervalMsec(在 hdfs-site.xml 中)确定。默认设置为 21600000 毫秒。
    • 块报告中包含的一些信息是:
      • 注册:数据节点注册信息
      • blocks:关于区块的信息,包含:区块ID、区块长度、区块生成时间戳、区块副本状态(例如副本已完成或等待恢复等)
    • 此信息由名称节点用于:
      • 处理首次块报告:如果是新注册的数据节点的首次报告,它只是添加所有有效副本。它忽略所有无效块,直到下一个块报告。
      • 更新区块信息:(数据节点 -> 区块)映射在名称节点中更新。新区块报告与旧报告进行比较,并更新有关成功区块、损坏区块、无效区块等的信息

    【讨论】:

    • 谢谢,这个数据是在内存中构建的)
    【解决方案2】:

    Datanodes 不能从集群外部直接访问,它位于专用网络中。 Hadoop 集群容易出现节点故障,NameNode 跟踪不同 DataNode 上的所有数据。因此,对集群的任何查询都由 NN 处理,并提供 DN 上的块地址。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-21
      • 1970-01-01
      相关资源
      最近更新 更多