我已经在 14.04 LTS 中安装了 Hadoop-2.4.0,
我已经关注此链接,我已经成功启动和停止服务,
但是当我尝试执行示例时,
$ /bin/hadoop jar hadoop*examples*.jar wordcount /user/hduser/gutenberg /user/hduser/gutenberg-output
我得到的回应是,
Not a valid JAR: /hadoop*examples*.jar
编辑1
我已经安装了 JAVA 7(即 JDK 1.7),当我使用 Hadoop-1.0.3 时它运行良好。
当我尝试使用 Hadoop-2.4.0 执行时出现问题。
笔记
从本教程我的系统有以下不同,
- 我正在使用 JAVA 7,而不是 JAVA 6。
- 我使用的是 Hadoop 2.4.0,而不是 Hadoop-1.0.3
- 我正在使用 Ubuntu 14.04,而不是 Ubuntu 10.04。
并且我可以在 14.04 上使用 JAVA 7 成功执行 HAdoop-1.0.3。
我的问题是为什么我不能对 Hadoop-2.4.0 运行相同的程序。
答案1
我也遇到了同样的问题。这是解决方案。
操作系统 - Ubuntu 14.04 64 位
Java - OpenJDK 7
Hadoop - Hadoop 2.4.1
步骤 1:创建一个 hdfs 目录用于输入:hadoop dfs -mkdir -p /usr/local/hadoop/input
步骤 2:现在使用 hadoop 命令将 jar 文件粘贴到此文件夹中。
hadoop dfs -copyFromLocal /home/hduser/Desktop/sample.txt /usr/local/hadoop/input
步骤 3:在终端中转到 $HADOOP_HOME/share/hadoop/mapreduce 文件夹。
cd $HADOOP_HOME/share/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-2.4.1.jar wordcount /usr/local/hadoop/input/sample.txt /usr/local/hadoop/output
这里将创建 /usr/local/hadoop/output 文件夹。每次你都必须给出一个新名称。
笔记:ls
您不能简单地列出终端中所使用的文件夹输入和输出。
步骤 4:要查看输出,请使用以下命令:
hadoop dfs -cat /usr/local/hadoop/output/part-r-00000
答案2
我也按照同样的教程操作,但在我最新的安装(Hadoop 2.7.1)中遇到了同样的问题。我不得不将其从
$ /bin/hadoop jar hadoop*examples*.jar wordcount /user/hduser/gutenberg /user/hduser/gutenberg-output
到
$ /bin/hadoop jar ./share/hadoop/mapreduce/hadoop-*-examples*.jar wordcount /user/hduser/gutenberg /user/hduser/gutenberg-output
答案3
本教程已通过以下软件版本测试:
Ubuntu Linux 10.04 LTS(已弃用:8.10 LTS、8.04、7.10、7.04)
自 2012 年 10 月 4 日以来它就没有更新过。那是(我猜是你的问题)。
14.04 和 10.04 的工作方式截然不同......
Sun Java 6
Sun Java 在 Ubuntu 中不再可用所以这可能也是它不起作用的原因。
答案4
我正在使用 hadoop-2.7.2,为了解决这个问题,只需转到目录 hadoop-2.7.2,然后直接hadop*exaples*jar
写入以下内容:
share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar