62-66-Hadoop-HDFS-检查-dn工作-完整以及掉线了解

51 篇文章 1 订阅
27 篇文章 0 订阅

60-61-Hadoop-检查-dn工作-完整以及掉线了解:

CheckPoint 时间设置 (了解)

1)通常情况下,SecondaryNameNode每隔一小时执行一次。

[hdfs-default.xml]

<property>
  <name>dfs.namenode.checkpoint.period</name>
  <value>3600s</value>
  <description>
    The number of seconds between two periodic checkpoints.
    Support multiple time unit suffix(case insensitive), as described
    in dfs.heartbeat.interval.
  </description>
</property>

2)一分钟检查一次操作次数,当操作次数达到1百万时,SecondaryNameNode执行一次。

<property>
  <name>dfs.namenode.checkpoint.txns</name>
  <value>1000000</value>
  <description>操作动作次数。The Secondary NameNode or CheckpointNode will create a checkpoint
  of the namespace every 'dfs.namenode.checkpoint.txns' transactions, regardless
  of whether 'dfs.namenode.checkpoint.period' has expired.
  </description>
</property>
<property>
  <name>dfs.namenode.checkpoint.check.period</name>
  <value>60s</value>
  <description> 1 分钟检查一次操作次数。The SecondaryNameNode and CheckpointNode will poll the NameNode
  every 'dfs.namenode.checkpoint.check.period' seconds to query the number
  of uncheckpointed transactions. Support multiple time unit suffix(case insensitive),
  as described in dfs.heartbeat.interval.
  </description>
</property>
DataNode工作机制:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NrJ4wu4j-1668934170760)(png/1623597940293.png)]

在这里插入图片描述

(1)一个数据块在 DataNode 上以文件形式存储在磁盘上,包括两个文件,一个是数据

本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。

(2)DataNode 启动后向 NameNode 注册,通过后,周期性(6 小时)的向 NameNode 上

报所有的块信息。

DN 向 NN 汇报当前解读信息的时间间隔,默认 6 小时;

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

DN 扫描自己节点块信息列表的时间,默认 6 小时


<property>
  <name>dfs.datanode.directoryscan.interval</name>
  <value>21600s</value>
  <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 分钟没有收到某个 DataNode 的心跳,

则认为该节点不可用。

(4)集群运行中可以安全加入和退出一些机器。

数据完整性 (了解)

思考:如果电脑磁盘里面存储的数据是控制高铁信号灯的红灯信号(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。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nnTCKiue-1668934170763)(png/1623670262162.png)]

掉线时限参数设置(了解)

DataNode掉线时限参数设置
在这里插入图片描述

1、DataNode进程死亡或者网络故障造成DataNode无法与NameNode通信

2、NameNode不会立即把该节点判定 为死亡,要经过一段时间,这段时间暂称作超时时长。

3、HDFS默认的超时时长为10分钟+30秒。

4、如果定义超时时间为TimeOut,则超时时长的计算公式为:

TimeOut = 2 * dfs.namenode.heartbeat.recheck-interval + 10 * dfs.heartbeat.interval。

而默认的dfs.namenode.heartbeat.recheck-interval 大小为5分钟,dfs.heartbeat.interval默认为3秒。

需要注意的是 hdfs-site.xml 配置文件中的 heartbeat.recheck.interval 的单位为毫秒,

dfs.heartbeat.interval 的单位为秒。

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

学习路径:https://space.bilibili.com/302417610/,如有侵权,请联系q进行删除:3623472230

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值