如何在Hadoop中划分Cluster上的数据

时间:2014-12-10 08:54:50

标签: hadoop mapreduce

我有1个集群,2个节点意味着1个主服务器和2个从服务器(slave1,slave2),我有一个文本文件(input.txt 1GB)。 hdfs的块大小为64MB。

我想做输入文件的wordcount。

首先,我使用

在主节点上的hdfs上复制input.txt
hadoop dfs -copyFromLocal input.txt /

然后

hadoop jar Wordcount.jar Wordcount /input.txt /output

我的问题是

1)以上命令在群集上执行Wordcount是对的还是错误的?

2)当我复制input.txt文件时,它将存储为slave 1和slave2 datanode或主节点吗?

3)或者我必须首先复制slave1和slave2上的input.txt以执行Wordcount程序?

1 个答案:

答案 0 :(得分:0)

2)当您将文件从本地复制到HDFS时,它将被分成块,并且这些块将在可用的数据节点上进行平衡和复制(取决于复制因子等配置)。

3)否.Hotoop HDFS工具负责在整个集群中分发数据。因此,当您只有两个节点时,两个节点都应包含整个文件。