如何在非最短/无停机的情况下将非HA HDFS集群重新配置为HA?

时间:2018-02-02 13:43:40

标签: hadoop architecture migration hdfs distributed-computing

我有一个名称节点HDFS群集,其中包含多个数据节点,可存储数TB的数据。我想在该群集上启用高可用性并添加另一个名称节点。实现这一目标的最有效和最不容易出错的方法是什么?理想情况下,这可以在没有任何停机或简单重启的情况下工作。

我想到的两个选项是:

  • 编辑namenode的配置以方便HA功能并重新启动它。然后添加第二个namenode并重新配置并重新启动数据节点,以便他们知道集群现在是HA。
  • 根据数据创建相同的群集,但有两个名称节点。然后将数据从旧的datanode迁移到新的datanode,最后调整所有HDFS客户端的指针。

第一种方法似乎更容易,但需要一些停机时间,我不确定是否可能。第二个是某种程度上更清晰,但数据迁移和指针调整存在潜在问题。

1 个答案:

答案 0 :(得分:0)

你无法在没有停机的情况下就地做到这一点;非HA设置正是如此,而不是高可用性,因此任何代码/配置更改都需要停机时间。

要在就地执行此操作时产生最少的停机时间,您可能希望:

此时所有内容都可以识别HA,并且唯一的停机时间是快速重启活动NN - 相当于在非HA设置中更改代码/配置期间的体验。

您的第二种方法应该有效,但请记住,您需要两倍的硬件,并且在迁移过程中保持两个群集的一致性可能很困难。