1

我想知道将数据中心 DC1 中的 Hadoop 集群 H1 中存在的数据复制到数据中心 DC2 中的另一个 Hadoop 集群 H2 的最佳方法是什么(最好是热备份)。我知道 Hadoop 进行数据复制,创建的数据副本数由 hdfs-site.xml 中设置的复制因子决定。我有几个与此相关的问题

  • 让一个集群的数据节点分布在两个数据中心是否有意义,以便 H1 的数据节点同时出现在 DC1 和 DC2 中。如果这有意义并且可行,那么这是否意味着我们不需要 H2?

  • 让namenodes和datanodes分布在两个数据中心而不是只让datanodes分布在两个数据中心是否有意义?

我还听说人们使用 distcp 并且许多工具都建立在 distcp 之上。但是 distcp 会进行惰性备份,并且更喜欢热备份而不是冷备份。

有些人建议为此使用 Kafka,但我不确定如何使用它。

任何帮助,将不胜感激。谢谢。

4

1 回答 1

0

这取决于您要保护的内容。如果您想防止站点故障,distcp 似乎是跨数据中心复制的唯一选择。但是,正如您所指出的, distcp 有局限性。您可以使用快照来防止用户错误或应用程序损坏,因为复制或多个副本无法防止这种情况。如果您不想编写代码和维护它,其他商业工具也可用于自动化备份过程。

于 2016-02-19T05:57:58.897 回答