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



我已经成功安装了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 

我做错了什么?

您正在使用的命令是旧的。试,

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*

Edit 2:更新的Hadoop CLI使用:

hdfs dfs <your_command_here>
例如,

hdfs dfs -ls /

同样,如果你想读取gzip文件,你可以使用这个,

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

你忘了dfs

hdfs dfs -copyFromLocal /blar /blar

在我看来,Scalding是开始编写MapReduce程序的最佳工具。它像Pig一样简洁,但像Java一样灵活。

相关内容

  • 没有找到相关文章

最新更新