0%

HDFS Federation 发展历程

HDFS Federation(联邦)相关知识,如 HDFS Router-based Federation


前言

在阅读一些 Hadoop3 新特性的文章中,我看到有提”多 NameNode”,然后简单某度搜索到的链接都是提 HDFS Federation(联邦)

下意识以为”多 NameNode”指的是 Federation 正式在 Hadoop3 上实现可用,在一次面试过程中跟面试官扯 Hadoop3 Federation 新特性,人家反问一句这不是 Hadoop2 就有了吗。。。我瞬间懵了。

事后回顾到才知道 HDFS RBF 才是 Hadoop3 Router-based Federation 新特性。”多 NameNode” 是指 HDFS HA 支持多 Standby 节点机制 HDFS-6440

在配置平衡策略时看到有个”BlockPool”,想到这是跟 Federation 有关,因此想整理一下对这方面的知识程度

HDFS Federation

对 Federation 学习个人大部分是通过以下链接学习了解,大家可以按链接顺序自行学习。

由于 Router-based HDFS federation 还算比较新的特性,所以社区分了几个阶段修复或添加了一些新的功能,
社区在 2.9 和 3.0 版本中发布 HDFS RBF 方案解决统一命名空间问题,参见 HDFS-10467
在 Apache Hadoop 3.2.0 版本修复或添加了一些功能,参见 HDFS-12615
以及 Router-based HDFS federation 稳定性相关的 ISSUE HDFS-13891
这个 ISSUE 可能会在 Apache Hadoop 3.3.0 版本发布(过往记忆大数据的Apache Hadoop 的 HDFS federation 前世今生文末提的。。。不知道会不会发布)。

小米在HDFS Router-based Federation文末提了 Rebalance 社区没有实现跨子集群的迁移。

翻看官方文档的确有提不支持跨子集群的迁移:

Some operations are not available in Router-based federation. The Router throws exceptions for those. Examples users may encounter include the following.

  • Rename file/folder in two different nameservices.
  • Copy file/folder in two different nameservices.
  • Write into a file/folder being rebalanced.

但是跨集群的数据平衡已经在做了,可以参见 HDFS-13123
小米自己也说内部实现了跨子集群的 Federation Rename,可以在未来将这一特性合并到社区的 Rebalance 方案中,期待ing。


参考链接