我们如何才能从 hdfs 联邦的一个命名空间中排除一些数据节点?

Posted

技术标签:

【中文标题】我们如何才能从 hdfs 联邦的一个命名空间中排除一些数据节点?【英文标题】:How can we exclude some data nodes only from one namespace in hdfs federation? 【发布时间】:2018-11-13 11:42:00 【问题描述】:

我正在检查 hadoop 联盟。这里数据节点是通用的,只有命名空间会不同。我们如何仅从一个命名空间中排除某些数据节点

【问题讨论】:

【参考方案1】:

在停用时,需要停用的节点将添加到所有 Namenode 的排除文件中。每个 Namenode 都会停用其块池。当所有 Namenode 完成对 Datanode 的停用时,Datanode 被视为已停用。

更多详情可以看一下:https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-hdfs/Federation.html#Decommissioning

【讨论】:

亲爱的 Vin,正如我所提到的,我只想从一个名称节点中删除一个数据节点,而不是从两个名称节点中删除。 @Rahul 据我了解,您不能这样做,因为该数据节点将连接到集群或不连接。如果它在集群中,它应该在每个命名空间中更新,否则它会违反数据完整性【参考方案2】:

您可以只从其中一个命名空间中停用 DataNode。

【讨论】:

以上是关于我们如何才能从 hdfs 联邦的一个命名空间中排除一些数据节点?的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop之联邦HDFS

HDFS Federation联邦机制

hadoop详解HDFS Federation(联邦)详解及优劣势分析

Java 从命名空间中排除基本目录

Leiningen 不会从 uberjar 中排除命名空间

从 FxCop 代码分析中排除完整的命名空间?