2

我正在尝试在带有 Cygwin 的 Windows 7 上使用 Hadoop 0.22.0 在伪分布式配置中运行 Hadoop grep 示例。该示例在独立模式下运行良好,但在伪分布式模式下运行时会给出以下输出

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

12/05/15 08:27:31 WARN conf.Configuration: mapred.used.genericoptionsparser is deprecated. Instead, use mapreduce.client.genericoptionsparser.used
12/05/15 08:27:31 WARN mapreduce.JobSubmitter: No job jar file set.  User classes may not be found. See Job or Job#setJar(String).
12/05/15 08:27:31 INFO input.FileInputFormat: Total input paths to process : 1
12/05/15 08:27:32 INFO mapreduce.JobSubmitter: number of splits:1
12/05/15 08:27:33 INFO mapreduce.Job: Running job: job_201205150826_0001
12/05/15 08:27:34 INFO mapreduce.Job:  map 0% reduce 0%
12/05/15 08:27:47 INFO mapreduce.Job: Task Id : attempt_201205150826_0001_m_000002_0, Status : FAILED
java.lang.Throwable: Child Error
    at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:225)
Caused by: java.io.IOException: Task process exit with nonzero status of 1.
    at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:212)

12/05/15 08:27:47 WARN mapreduce.Job: Error reading task outputhttp://xxx.xxx.xxx:50060/tasklog?plaintext=true&attemptid=attempt_201205150826_0001_m_000002_0&filter=stdout

有谁知道可能导致 Java Child Error 的原因,或者无法读取有关任务输出的警告?

我在 TaskTracker 日志中收到以下错误:

Failed to retrieve stdout log for task: attempt_201205151356_0001_m_000002_0
java.io.FileNotFoundException: C:\cygwin\usr\local\hadoop-0.22.0\logs\userlog\job_201205151356_0001\attempt_201205151356_0001_m_000002_0\log.index (The system cannot find the file specified)
4

4 回答 4

1

当我指定的配置超出我系统上可用的内存量时,我看到了这个错误。检查您指定的任务槽数以及每个子 JVM 的堆大小。

于 2012-05-18T20:57:34.057 回答
1

不确定这是否仍然相关,因为 hadoop 现在是 1.0.x 版。

如果它可以帮助我已经成功地将 1.0.1 移植到 cygwin-1.7 win-7 jdk1.7_x64 上。

这里有很多问题,围绕路径混淆、shell 脚本和包装器、hadoop 核心 java 代码以及 java 不理解 cygwin 符号链接这一重要事实。

以下是完整工作修复的说明:

http://en.wikisource.org/wiki/User:Fkorning/Code/Hadoop-on-Cygwin

它也在 sourceforge 上,虽然我还没有上传补丁代码,因为我想移植最新版本(这是 1.0.1)。

http://sourceforge.net/p/win-hadoop/wiki/Hadoop-on-Cygwin/

于 2012-06-14T12:56:24.430 回答
0

当日志目录变大时,我会发生这种情况。

于 2013-05-16T20:46:24.193 回答
0

hadoop 可以写入它需要的所有目录吗?像 mapred.local.dir 和 hadoop.tmp.dir?这可能会导致问题

于 2012-06-13T23:49:37.937 回答