我有1个集群,2个节点意味着1个主服务器和2个从服务器(slave1,slave2),我有一个文本文件(input.txt 1GB)。 hdfs的块大小为64MB。
我想做输入文件的wordcount。
首先,我使用
在主节点上的hdfs上复制input.txthadoop 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程序?
答案 0 :(得分:0)
2)当您将文件从本地复制到HDFS时,它将被分成块,并且这些块将在可用的数据节点上进行平衡和复制(取决于复制因子等配置)。
3)否.Hotoop HDFS工具负责在整个集群中分发数据。因此,当您只有两个节点时,两个节点都应包含整个文件。