使用 hadoop 运行 jar 示例文件

Posted

技术标签:

【中文标题】使用 hadoop 运行 jar 示例文件【英文标题】:running a jar example file with hadoop 【发布时间】:2012-12-06 23:05:16 【问题描述】:

请对我放轻松。我刚刚同时启动了linux和hadoop。我对 linux 的经验几乎为零,并且是 hadoop 的完整初学者。

我从这里下载了文件hadoop-1.1.1-bin.tar.gz

http://www.motorlogy.com/apache/hadoop/common/hadoop-1.1.1/

我能够打开它。

我正在关注一个告诉我运行的教程:

bin/hadoop jar hadoop-*-examples.jar

我收到此错误:

agordon@Ubuntu32:/hadoop/hadoop-1.1.1$ bin/hadoop jar hadoop-*-examples-1.0.3.jar
Exception in thread "main" java.io.IOException: Error opening job jar: hadoop-*-examples-1.0.3.jar
    at org.apache.hadoop.util.RunJar.main(RunJar.java:90)
Caused by: java.io.FileNotFoundException: hadoop-*-examples-1.0.3.jar (No such file or directory)
    at java.util.zip.ZipFile.open(Native Method)
    at java.util.zip.ZipFile.<init>(ZipFile.java:214)
    at java.util.zip.ZipFile.<init>(ZipFile.java:144)
    at java.util.jar.JarFile.<init>(JarFile.java:152)
    at java.util.jar.JarFile.<init>(JarFile.java:89)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:88)

我做错了什么?感谢您的指导。

【问题讨论】:

也许尝试用实际的 jar 文件名替换 hadoop-*-examples.jar。也许他们使用 * 作为占位符,使他们的教程适用于多个版本 @foampile 非常感谢您的评论。我认为它实际上是语法的一部分:hadoop.apache.org/docs/r0.20.2/quickstart.html 你同意吗? 我认为@foampile 是对的。使用 linux 时您需要学习的第一件事是相信错误消息“hadoop-*-examples-1.0.3.jar (没有这样的文件或目录)”:-) ... 请注意您传入的字面星号是'不扩展为文件名。查找以 examples-1.0.3.jar 结尾的 jar 文件,然后将该全名复制/粘贴到您的 cmd 行中。祝你好运 @shellter 非常感谢。文件在哪里? 转到解压*.tar.gz 文件的目录,然后运行find . -name '*examples-1.0.3.jar'。然后你可以使用bin/hadoop jar $path/to/jar/discovered/with/find/....examples..jar。祝你好运。 【参考方案1】:

使用 jar 文件的全名代替 hadoop-*-examples.jar。

【讨论】:

以上是关于使用 hadoop 运行 jar 示例文件的主要内容,如果未能解决你的问题,请参考以下文章

bin/hadoop jar hadoop-*_examples.jar grep input output ‘dfs[a-z.]+’ 啥意思啊

大数据开发之词频统计传参打包成jar包发送到Hadoop运行并创建可执行文件方便运行

hadoop 编译自己的jar包并运行

hadoop运行 jar包的时候,怎么设置

Hadoop-MapReduce

如何在hadoop环境中添加外部Jar?