HDFS数据节点在发生故障/重启时重新连接

时间:2017-12-09 11:48:57

标签: hadoop hdfs

HDFS中是否存在功能,配置,其中如果数据节点出现故障/重新启动,重新启动后它将能够重新连接到群集并处理数据?

2 个答案:

答案 0 :(得分:0)

一旦namenode检测到与正在运行的datanode进程的RPC连接,是的,它就可以处理数据。

datanode进程是否在重新启动时启动取决于您的安装& OS

例如,最新版本的Apache Ambari支持服务自动启动

答案 1 :(得分:0)

与HDFS相关的主要配置文件是hdfs-site.xmlcore-site.xml。这些配置文件将出现在运行hdfs或可访问hdfs的所有节点中(namenode,datanode或hdfs客户端)。 core-site.xml具有帮助识别namenode的属性。使用此属性,hdfs相关请求将能够识别namenode。

 <property>
        <name>fs.defaultFS</name>
        <value>hdfs://${namenodehost:port}</value>
 </property>

当datanode重新启动时,它使用此属性标识namenode,并向namenode(heartbeat)发送RPC调用并自行注册。 datanode将请求发送到namenode并进行注册。这是正确配置的hadoop集群的默认行为,它不需要任何其他配置。 datanode(dfs.datanode.data.dir)的数据目录具有与hdfs集群(/dfs/dn/current/VERSION)相关的元数据。该文件有一个名为clusterID的条目。样本内容如下:

#Wed Nov 15 19:34:53 IST 2017
storageID=DS-8837a585-1906-47ab-b28b-a1183c47adf8
clusterID=cluster4
cTime=0
datanodeUuid=8efd145f-453b-4d79-8073-2efe33f451d2
storageType=DATA_NODE
layoutVersion=-56

如果配置的namenode的clusterID与datanode中存在的clusterID不同,则datanode注册将失败。

数据事务将在将datanode正确注册到HDFS之后进行。即使datanode保持停顿数天,datanode也可以重新连接到namenode。