在驻留在不同数据中心的多个Hadoop集群之间复制数据

时间:2016-01-06 05:11:00

标签: hadoop disaster-recovery

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

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

  • 将名称节点和数据节点分布在两个数据中心而不是仅在两个数据中心分布数据节点是否有意义?

我也听说有人使用distcp,而且许多工具都建立在distcp之上。但distcp会进行延迟备份,而不喜欢热备份而不是冷备份。

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

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

1 个答案:

答案 0 :(得分:0)

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