使用 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.]+’ 啥意思啊