我已经成功安装了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
我做错了什么?
答案 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一样灵活。