无法将文件从本地磁盘复制到HDFS

时间:2014-07-03 18:39:59

标签: ubuntu hadoop mapreduce hdfs word-count

我已经成功安装了ubuntu 12.04和hadoop 2.4.0。

输入jps命令后,我发现输出如下

4135 jps
2582 SeconadaryNameNode
3143 NodeManager
2394 Namenode
2391 Datanode
3021 ResourceManager

现在我想运行wordcount示例。

我创建了一个包含一些内容的.txt文件

现在每当我尝试通过遵循此命令将其复制到hadoop hdfs时

hdfs -copyFromLocal /app/hadoop/tmp/input.txt /wordcount/input.txt

(路径中的“wordcount”是我创建的目录)

但它显示

unrecognised option: -copyFromLocal
could not create the java virtual machine 

我做错了什么?

2 个答案:

答案 0 :(得分:9)

您使用的命令是较旧的命令。尝试,

hadoop fs -mkdir -p /wordcount/input
hadoop fs -put /app/hadoop/tmp/input.txt /wordcount/input/input.txt

在这种情况下,您需要将输出目录指定为/wordcount/output,并且在运行作业之前它不应该存在。如果是这样,作业将失败。所以你可以删除目录,

hadoop fs -rm -R /wordcount/output

编辑:要查看输出文件,请检查:

hadoop fs -ls /wordcount/output

要在控制台上查看输出,请使用:

hadoop fs -cat /wordcount/output/part*

编辑2:较新的Hadoop CLI使用:

hdfs dfs <your_command_here>

例如,

hdfs dfs -ls /

另外,如果您想阅读gzip个文件,可以使用

hdfs dfs -cat /wordcount/output/part* | gzip -d -u

答案 1 :(得分:0)

您忘记了dfs

hdfs dfs -copyFromLocal /blar /blar

IMO Scalding是开始编写MapReduce程序的最佳工具。它与Pig一样简洁,但与Java一样灵活。