Hadoop 3.x(HDFS)----【DataNode】

news/2024/5/20 0:49:42 标签: hadoop, hdfs, 大数据

Hadoop 3.x(HDFS)----【DataNode】

  • 1. DataNode工作机制
  • 2. 数据完整性
  • 3. 掉线时限参数设置

1. DataNode工作机制

在这里插入图片描述

  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(caseinsensitive), as describedin dfs.heartbeat.interval.
	</description>
</property>
  1. 心跳是每3秒一次,心跳返回结果带有 NameNode 给该 DataNode 的命令如复制块数据到另一台机器,或删除某个数据块。如果超过 10 分钟没有收到某个 DataNode 的心跳,则认为该节点不可用。

  2. 集群运行中可以安全加入和退出一些机器。

2. 数据完整性

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

如下是 DataNode 节点保证数据完整性的方法。

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

在这里插入图片描述

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>

http://www.niftyadmin.cn/n/1680155.html

相关文章

ubuntu64位下部署openfire

待完成转载于:https://www.cnblogs.com/progfun/p/4163937.html

一键ip切换_简介IP转换器主要用途

现在的5G网络时代&#xff0c;不论是营销推广还是数据信息采集都离不开IP工具的使用&#xff0c;企业对收集到的数据信息进行分析&#xff0c;制定适合自身的品牌推广及营销方案。而在数据采集过程中&#xff0c;IP转换器是必不可少的软件。虽然市面上提供代理IP服务的应用提供…

电子竞技的基石:信任

在这个世界上&#xff0c;所有的关系&#xff0c;无论是事还人&#xff0c;都有着一个共同之处&#xff1a;他们建立在彼此信任的基础上。相信你的女友对你仍然忠诚&#xff0c;相信你的商务伙伴会让你分得那一份你应得的利润&#xff0c;相信你的朋友仍然视你为他们其中的一员…

深入理解javascript函数调用

2019独角兽企业重金招聘Python工程师标准>>> 概述 调用一个函数会暂停当前函数的执行&#xff0c;传递控制权和参数给新的函数。 除了声明的时候定义的形参&#xff0c;每个函数还会接受两个参数this和arguments, 参数this在面向对象编程中非常重要&#xff0c;他的…

Hadoop 3.x(MapReduce)----【Hadoop 序列化】

Hadoop 3.x&#xff08;MapReduce&#xff09;----【Hadoop 序列化】1. 序列化概述1. 什么是序列化2. 为什么要序列化3. 为什么不用Java的序列化4. Hadoop序列化特点&#xff1a;2. 自定义bean对象实现序列化接口&#xff08;Writable&#xff09;3. 序列化案例实操1. 需求2. 需…

gta4 oracle_跪求GTA4的车辆包和各种赛车

ADMIRAL 玛莎拉蒂总裁AIRTUG 法拉利F1BANSHEE 奔驰SLS AMGBOBCAT 福特e68a84e8a2ad3231313335323631343130323136353331333335303439F-150BUCCANEER 奔驰SLRBLISTA COMPACT 大众尚酷CAVALCADE 悍马H2CAVALCADE FXT JEEP牧马人CHAVOS 奔驰CLS63 AMGCOGNOSCENTI 劳斯莱斯幻影COME…

python no module named mysqldb_报错:ImportError: No module named MySQLdb

已经用yum安装了MySQL-python&#xff1a;$ yum list MySQL-pythonInstalled PackagesMySQL-python.x86_64 1.2.3-0.3.c1.1.el6 base但在python中引入MySQLdb时报错&#xff1a;$ pythonPython 2.7.6 (default, Nov 19 2014, 11:10:02)[GCC 4.4.7 20120313…

显示水晶报表的公用类

在应用程序中&#xff0c;通常我们都需要显示报表。在.net中&#xff0c;我们大多数情况使用了水晶报表&#xff0c;如果我们不是直接将报表发送到打印机打印&#xff0c;那么就需要将报表显示出来&#xff0c;这种情况下需要使用报表查看器(CrystalReportViewer)。 CrystalRep…