1

我正在按照此说明运行 hadoop:

http://wiki.apache.org/hadoop/Running_Hadoop_On_OS_X_10.5_64-bit_(Single-Node_Cluster)

但是,我无法让这个命令工作:

hadoop-*/bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'

我得到的只是:

Exception in thread "main" java.io.IOException: Error opening job jar: /Users/hadoop/hadoop-1.0.1/hadoop-examples-1.0.1.jargrep
    at org.apache.hadoop.util.RunJar.main(RunJar.java:90)
Caused by: java.util.zip.ZipException: error in opening zip file
    at java.util.zip.ZipFile.open(Native Method)
    at java.util.zip.ZipFile.<init>(ZipFile.java:127)
    at java.util.jar.JarFile.<init>(JarFile.java:135)
    at java.util.jar.JarFile.<init>(JarFile.java:72)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:88)

我将此添加到我的hadoop-env.sh

export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"

但仍然是同样的错误。有什么线索吗?

4

2 回答 2

3

当您运行以下命令时:

hadoop- /bin/hadoop jar hadoop- -examples.jar grep 输入输出 'dfs[az.]+'

  • grep 是 hadoop 程序,它是示例的一部分
  • input 是您的源数据所在的文件夹,希望您在 HDFS 上创建了它
  • output 是将作为结果创建的文件夹。
  • 'dfs[a=-z.]+' 是与 grep 程序一起使用的常规选项

因为输出是“Grep.......”在我看来,实际的示例应用程序类在 Hadoop 命令运行时不可用或缺少一些信息..您需要先检查并查找常规表达式,如果这适用于您的输入数据。

于 2012-05-16T05:48:19.700 回答
2

我知道这是旧的,但如果其他人有同样的问题并看到这个 SO 问题,我想提出我为解决这个问题所做的事情,因为它非常简单。

看起来这是示例说明中的错字。如果您查看 Hadoop 分发目录,您会注意到所引用的示例文件名为hadoop-examples-1.0.4.jar,或者您使用的任何版本。

所以而不是:

hadoop-*/bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'

尝试:

bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'
于 2013-01-29T12:39:13.123 回答