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

Ubuntu 无法将文件从本地磁盘复制到HDFS,ubuntu,hadoop,mapreduce,hdfs,word-count,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/had

我已经成功安装了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*
编辑2:较新的Hadoop CLI使用:

hdfs dfs <your_command_here>
另外,如果您想读取
gzip
文件,您可以使用

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

您忘记了dfs

hdfs-dfs-copyFromLocal/blar/blar


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

您缺少hdfs命令参数(dfs)。请尝试$hdfs dfs-copyFromLocal,这不是字数问题。我更改了你问题的标题。现在如何运行它我使用以下命令hadoop jar/usr/local/hadoop/share/hadoop/mapreduce/hadoop mapreduce示例-…*jar wordcount input output但它显示错误分别用wordcount/input和wordcount/output替换输入和输出后它工作了,但我如何访问输出这意味着它将在何处显示查询答案中出现的单词总数。thnx如何编写自己的代码来分析Hadoop中2GB左右的数据该技术实际上与数据量无关。这就是MapReduce的美妙之处。在MBs上工作的代码将用于数据的PBs。算法取决于您的问题。
hdfs dfs -cat /wordcount/output/part* | gzip -d -u