hdfs数据节点在故障/重启时重新连接

k75qkfdt  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(503)

hdfs中是否有这样一种功能和配置:如果数据节点发生故障/重新启动,在重新启动时,它将能够重新连接到集群并处理数据?

n53p2ov0

n53p2ov01#

一旦namenode检测到与正在运行的datanode进程的rpc连接,是的,它就可以处理数据。
datanode进程是否在重新启动时启动取决于您的安装和操作系统
例如,apacheambari的最新版本支持服务自动启动

cdmah0mi

cdmah0mi2#

与hdfs相关的主要配置文件有 hdfs-site.xml 以及 core-site.xml . 这些配置文件将出现在运行hdfs或可以访问hdfs的所有节点(namenode、datanode或hdfs client)中。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集群的默认行为,它不需要任何额外的配置。数据节点的数据目录( 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

如果 clusterID 配置的namenode的 clusterID 存在于数据节点中。
数据事务将在datanode正确注册到hdfs之后发生。即使datanode停止运行几天,datanode也可以重新连接到namenode。

相关问题