如何在hadoop Node上复制数据

时间:2014-11-04 05:50:13

标签: hadoop map reduce

我想知道如何在hadoop集群节点上分发数据。

我有一个包含3个节点的集群。我想在HDFS上复制3GB数据。我的问题是, 当我执行命令

hadoop dfs -put /readme.txt /review/readme.txt

是否会在所有3个节点上复制数据?如何分发数据?

1 个答案:

答案 0 :(得分:1)

假设您有3GB数据并且未更改默认复制因子(3),那么您将在节点上存储大约9GB。

复制因子是将在群集上创建的副本数。

您的数据将被拆分为块,每块最大124MB(新API中的默认最大块大小)。然后,每个块将被复制两次并发送到不同的节点。

我认为,有两个原因可以复制数据:

  1. 数据位置:处理本地存储的数据比从网络获取数据然后处理数据更快。

  2. 备份:Hadoop节点经常出现故障。如果他们持有一部分输入数据并且您没有备份,则整个作业将失败。另一方面,如果您也在其他节点上保留副本,那么单个节点故障不会对该作业产生太大影响。

  3. blackSmith是对的,this post包含你问题的答案,但也许你不熟悉数据复制的关键概念。