Hadoop Map-Reduce 操作在写入输出时失败

2024-02-06

我终于能够在 Hadoop 上启动 Map-Reduce 作业(在单个 debian 机器上运行)。但是,MapReduce作业总是失败并出现以下错误:

hadoopmachine@debian:~$ ./hadoop-1.0.1/bin/hadoop jar hadooptest/main.jar nl.mydomain.hadoop.debian.test.Main /user/hadoopmachine/input /user/hadoopmachine/output
Warning: $HADOOP_HOME is deprecated.

12/04/03 07:29:35 WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.
****hdfs://localhost:9000/user/hadoopmachine/input
12/04/03 07:29:35 INFO input.FileInputFormat: Total input paths to process : 1
12/04/03 07:29:35 INFO mapred.JobClient: Running job: job_201204030722_0002
12/04/03 07:29:36 INFO mapred.JobClient:  map 0% reduce 0%
12/04/03 07:29:41 INFO mapred.JobClient: Task Id : attempt_201204030722_0002_m_000002_0, Status : FAILED
Error initializing attempt_201204030722_0002_m_000002_0:
ENOENT: No such file or directory
at org.apache.hadoop.io.nativeio.NativeIO.chmod(Native Method)
at org.apache.hadoop.fs.FileUtil.execSetPermission(FileUtil.java:692)
at org.apache.hadoop.fs.FileUtil.setPermission(FileUtil.java:647)
at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:509)
at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:344)
at org.apache.hadoop.mapred.JobLocalizer.initializeJobLogDir(JobLocalizer.java:239)
at org.apache.hadoop.mapred.DefaultTaskController.initializeJob(DefaultTaskController.java:196)
at org.apache.hadoop.mapred.TaskTracker$4.run(TaskTracker.java:1226)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:416)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1093)
at org.apache.hadoop.mapred.TaskTracker.initializeJob(TaskTracker.java:1201)
at org.apache.hadoop.mapred.TaskTracker.localizeJob(TaskTracker.java:1116)
at org.apache.hadoop.mapred.TaskTracker$5.run(TaskTracker.java:2404)
at java.lang.Thread.run(Thread.java:636)

12/04/03 07:29:41 WARN mapred.JobClient: Error reading task outputhttp://localhost:50060/tasklog?plaintext=true&attemptid=attempt_201204030722_0002_m_000002_0&filter=stdout
12/04/03 07:29:41 WARN mapred.JobClient: Error reading task outputhttp://localhost:50060/tasklog?plaintext=true&attemptid=attempt_201204030722_0002_m_000002_0&filter=stderr

不幸的是,它只说:“ENOENT:没有这样的文件或目录”,它没有说明它实际尝试访问的目录。 Ping 本地主机有效,并且输入目录确实存在。罐子位置也正确。

任何人都可以告诉我如何修复此错误,或者如何找出 Hadoop 正在尝试访问哪个文件?

我在 Hadoop 邮件列表上发现了几个类似的问题,但没有回复...

Thanks!

附: mapred.local.dir 的配置如下所示(在 mapred-site.xml 中):

<property>
  <name>mapred.local.dir</name>
  <value>/home/hadoopmachine/hadoop_data/mapred</value>
  <final>true</final>
</property>

根据要求,ps auxww | 的输出grep 任务跟踪器是:

1000      4249  2.2  0.8 1181992 30176 ?       Sl   12:09   0:00
/usr/lib/jvm/java-6-openjdk/bin/java -Dproc_tasktracker -Xmx1000m -Dhadoop.log.dir=/home/hadoopmachine/hadoop-1.0.1/libexec/../logs
-Dhadoop.log.file=hadoop-hadoopmachine-tasktracker-debian.log -Dhadoop.home.dir=/home/hadoopmachine/hadoop-1.0.1/libexec/.. 
-Dhadoop.id.str=hadoopmachine -Dhadoop.root.logger=INFO,DRFA -Dhadoop.security.logger=INFO,NullAppender
-Djava.library.path=/home/hadoopmachine/hadoop-1.0.1/libexec/../lib/native/Linux-i386-32 
-Dhadoop.policy.file=hadoop-policy.xml -classpath [ommitted very long list of jars] org.apache.hadoop.mapred.TaskTracker

从作业跟踪器中,确定此任务在哪个 hadoop 节点上执行。通过 SSH 连接到该节点并确定该节点的位置hadoop.log.dir目录(检查此节点的mapred-site.xml) - 我的猜测是hadoop用户没有在此文件夹中创建子目录的正确权限

它尝试创建的实际文件夹位于 ${hadoop.log.dir}/userlogs 文件夹下 - 检查该文件夹是否具有正确的权限

在您的情况下,查看 ps 输出,我猜测这是您需要检查权限的文件夹:

/home/hadoopmachine/hadoop-1.0.1/libexec/../logs
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hadoop Map-Reduce 操作在写入输出时失败 的相关文章

随机推荐

  • SMIL(同步多媒体集成语言)的未来?

    SMIL 同步多媒体集成语言 最后一次更新是在2008年 有谁知道在同步多媒体文件时是否有更好的协议可以遵循 SMIL 没有天然的竞争对手 因此任何其他解决方案都将依赖于脚本 它支持 ePub 阅读器 例如Azardi http azard
  • 为什么删除不是 Subversion 的基本功能?

    几年来 我一直在等待 Subversion 提供 永久删除 消除 功能 我犹豫是否要过渡到 Subversion 来自 Visual SourceSafe p 因为我认为这是一个基本功能 否则我会期望存储库会不可阻挡地增长 然而 由于某种原
  • 阻塞读和非阻塞读有什么区别?

    在上述问题中添加等待 不等待指示器的概念作为 TCP IP 或 UDP 环境中 ReadMessage 函数的参数 第三方功能描述指出 此函数用于从先前的 registerforinput 调用定义的队列中读取消息 输入等待 不等待指示器将
  • Pandas - 计算相对于最早值的每日差异

    这可能很容易 但由于某种原因 我发现它很难完成 任何提示将非常感谢 我有一些每天 5 分钟间隔的时间序列数据 唉 Date Values 2012 12 05 09 30 00 5 2012 12 05 09 35 00 7 2012 12
  • 在同一行文本上对齐不同的字体大小以便看起来不错?

    基本上 我希望在同一行上有一个 h1 和一个 p 元素 但是对齐方式偏离了很多 意味着 H1 高于 P 并且看起来很糟糕 并且我之前从未使用 css 做过这样的事情 我已经整理了一个 jsfiddle 来配合它 这里是代码 h1 style
  • ASP.NET MVC3 Razor - 如何有条件地退出或结束或返回或中断部分视图?

    使用 Razor 如何有条件地退出或结束或返回或中断部分视图 if Model null return 不 你不return在视图中 您只需不在主视图中包含此类部分即可 if Model null Html Partial somePart
  • Python CFFI 的内存管理和析构函数/free() 约定?

    如果我包装一个 C 类 from ffi import ffi lib class MyClass object def init self self c class lib MyClass create 确保的最佳实践是什么lib MyC
  • 我可以获得 HTMLElement DOM 对象的完整 HTML 表示形式吗?

    我正在使用 jquery 来解析一些 HTML 例如 html contents each function var element this tagName 我可以使用 DOM 或更友好的 jQuery 函数访问 tagName 子项 父
  • 迭代数组的每个元素(第一个元素除外)

    编写此代码的惯用 Ruby 方式是什么 给定一个数组 我想迭代该数组的每个元素 但跳过第一个元素 我想在不分配新数组的情况下执行此操作 这是我想出的两种方法 但都不是特别优雅 这可行 但似乎太冗长了 arr each with index
  • SQL Server 连接后行数低估

    当实际行数为 2000 时 查询优化器估计联接结果只有一行 这导致数据集上的后续联接的估计结果只有一行 而其中一些联接的结果却高达 2000 30 000 计数为 1 时 QO 正在为许多连接选择循环连接 索引查找策略 这太慢了 我通过限制
  • 配置Webpack将LESS文件的目录构建成相应的CSS文件

    我希望使用 Webpack 编译我们所有的 less 文件 less to public css并将它们作为常规 css 包含在我们的服务器端模板中 not将文本粘贴到使用 ExtractText 插件或重载 require 中 也就是说
  • ASP.NET、C#、IIS、MIME 类型、有条件文件上传

    我的网站上有一个文件上传网络表单 它只需要接受某些格式 或 MIME 类型 以下代码运行完美 但它不会将 DOCX 文件上传到服务器 这是唯一不起作用的文件类型 我仔细检查了每一行代码 甚至进入了 IIS 管理器以确保 DOCX MIME
  • 如何在plolty3.10中绘制排序条形图

    我一直在尝试绘制一些商店销售数据的排序条形图 但无论我尝试什么 它都会给我未排序的数据 如何使用plotly绘制排序后的条形图 NOTE https community plot ly t sort bars in bar chart by
  • 字体文件未随 ASP.NET Bundle 一起加载

    在我的 ASP NET MVC 应用程序中 我使用 Bundle 来压缩 css 和 js 文件 问题是 在我启用优化模式后 字体未加载 BundleTable EnableOptimizations true 这是 C 代码 public
  • 如何使用 Go olivere/elastic 基于多个字段进行排序

    我几天来一直在尝试知道如何使用 Go 根据多个字段进行排序olivere elastic https github com olivere elastic 我正在尝试将其翻译成 Go sort name age desc 我尝试过使用New
  • Jupyter 中对 html 标签和从右到左语言的支持

    在 ipython 笔记本中 我们可以在 markdown 中添加 html 标签 从右到左语言的一个有用标签是 p text p 这方便地使文本右对齐 有没有办法在 Jupyter 中添加 html 标签或从右到左的段落对齐方式 可以这样
  • Xcode 8 / Swift 3:简单的 UIPicker 代码不起作用

    我有协议 class ViewController UIViewController UIPickerViewDelegate UIPickerViewDataSource 我有数据 let muteForPickerData minute
  • 将 javascript 封装在

    将 javascript 代码包装在其中有什么意义 这是我最讨厌的事情之一 这是一种古老的开发人员实践 旨在 保护 不理解的旧浏览器
  • SwiftUI:如何使用 NavigationViews 切换到新的导航堆栈

    我目前正在使用 SwiftUI Beta 5 我有一个工作流程 其中涉及浏览一系列视图 最后一个视图涉及将大量数据填充到应用程序中并结束特定工作流程的操作 下载数据后 用户应该能够启动新的工作流程 我想 忘记 旧的 NavigationVi
  • Hadoop Map-Reduce 操作在写入输出时失败

    我终于能够在 Hadoop 上启动 Map Reduce 作业 在单个 debian 机器上运行 但是 MapReduce作业总是失败并出现以下错误 hadoopmachine debian hadoop 1 0 1 bin hadoop