HDFS入门(六)—— DataNode(图文详解步骤2021)

HDFS入门(六)—— DataNode(图文详解步骤2021)

文章目录

  • HDFS入门(六)—— DataNode(图文详解步骤2021)
    • 6.1 DataNode 工作机制
    • 6.2 数据完整性
    • 6.3 DataNode掉线时限参数设置

6.1 DataNode 工作机制

HDFS入门(六)—— DataNode(图文详解步骤2021)_第1张图片

(1)一个数据块在 DataNode 上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。
(2)DataNode 启动后向 NameNode 注册,通过后,周期性(6 小时)的向 NameNode 上报所有的块信息。

相关配置参数如下:
HDFS入门(六)—— DataNode(图文详解步骤2021)_第2张图片

DN 向 NN 汇报当前解读信息的时间间隔,默认 6 小时;
相关配置参数如下:

<property> 
  <name>dfs.blockreport.intervalMsecname> 
  <value>21600000value> 
  <description>Determines block reporting interval in 
milliseconds.description> 
property> 

DN 扫描自己节点块信息列表的时间,默认 6 小时
相关配置参数如下:

<property> 
  <name>dfs.datanode.directoryscan.intervalname> 
  <value>21600svalue> 
  <description>Interval in seconds for Datanode to scan data 
  directories and reconcile the difference between blocks in memory and on 
the disk. 
  Support multiple time unit suffix(case insensitive), as described 
  in dfs.heartbeat.interval. 
  description> 
property> 

(3)心跳是每 3 秒一次,心跳返回结果带有 NameNode 给该 DataNode 的命令如复制块数据到另一台机器, 或删除某个数据块。 如果超过 10 分钟+30s没有收到某个 DataNode 的心跳,则认为该节点不可用。 就认为该节点挂了,不会再向其传输信息。
(4)集群运行中可以安全加入和退出一些机器。

6.2 数据完整性

思考: 如果电脑磁盘里面存储的数据是控制高铁信号灯的红灯信号 (1) 和绿灯信号 (0) ,但是存储该数据的磁盘坏了,一直显示是绿灯,是否很危险?同理 DataNode 节点上的数据损坏了,却没有发现,是否也很危险,那么如何解决呢?

如下是 DataNode 节点保证数据完整性的方法。
(1)当 DataNode 读取 Block 的时候,它会计算 CheckSum。
(2)如果计算后的 CheckSum,与 Block 创建时值不一样,说明 Block 已经损坏。
(3)Client 读取其他 DataNode 上的 Block。
(4)常见的校验算法 crc(32),md5(128),sha1(160)
(5)DataNode 在其文件创建后周期验证 CheckSum。

HDFS入门(六)—— DataNode(图文详解步骤2021)_第3张图片

具体校验相关知识可以回去补计算机组成原理的课程。

6.3 DataNode掉线时限参数设置

HDFS入门(六)—— DataNode(图文详解步骤2021)_第4张图片
需要注意的是 hdfs-site.xml 配置文件中的 heartbeat.recheck.interval 的单位为毫秒,dfs.heartbeat.interval 的单位为秒。
相关配置参数如下:

<property> 
    <name>dfs.namenode.heartbeat.recheck-intervalname> 
    <value>300000value> 
property> 
 
<property> 
    <name>dfs.heartbeat.intervalname> 
    <value>3value> 
property> 

你可能感兴趣的:(大数据应用,hdfs,hadoop,大数据,mapreduce)