HDFS中是否存在功能,配置,其中如果数据节点出现故障/重新启动,重新启动后它将能够重新连接到群集并处理数据?
答案 0 :(得分:0)
一旦namenode检测到与正在运行的datanode进程的RPC连接,是的,它就可以处理数据。
datanode进程是否在重新启动时启动取决于您的安装& OS
例如,最新版本的Apache Ambari支持服务自动启动
答案 1 :(得分:0)
与HDFS相关的主要配置文件是hdfs-site.xml
和core-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。