gpt4 book ai didi

hadoop - 无法远程运行 Hadoop 作业

转载 作者:可可西里 更新时间:2023-11-01 14:22:33 27 4
gpt4 key购买 nike

我想从 Windows 机器远程运行 hadoop 作业。集群在 Ubuntu 上运行。

基本上,我想做两件事:

  1. 远程执行 hadoop 作业。
  2. 从 hadoop 输出目录中检索结果。

我不知道如何实现这一点。我正在使用 hadoop 版本 1.1.2

我尝试在作业配置中传递 jobtracker/namenode URL,但失败了。

我尝试了以下示例:Running java hadoop job on local/remote cluster

结果:始终出现错误,因为无法加载目录。它类似于这篇文章: Exception while submitting a mapreduce job from remote system

最佳答案

欢迎来到痛苦的世界。我刚刚实现了这个确切的用例,但是使用从源代码修补和编译的 Hadoop 2.2(当前稳定版本)。

简而言之,我所做的是:

  1. 下载Hadoop 2.2 sources tarball到 Linux 机器并将其解压缩到临时目录。
  2. 申请these patches它解决了从 Windows 客户端连接到 Linux 服务器的问题。
  3. 使用 these instructions 从源代码构建它.如果您有 64 位 Linux 服务器,它还将确保您拥有 64 位 native 库。确保按照帖子的指示修复构建文件,否则构建将失败。请注意,在安装 protobuf 2.5 之后,您必须运行 sudo ldconfig,请参阅 this post .
  4. 在服务器节点上部署来自 hadoop-2.2.0-src/hadoop-dist/target 的结果 dist tar 并配置它。我帮不了你,因为你需要根据你的集群拓扑调整它。
  5. 在客户端 Windows 机器上安装 Java。确保它的路径中没有空格,例如c:\java\jdk1.7.
  6. 部署您在 Windows 客户端上构建的相同 Hadoop dist tar。它将包含对 Windox/Linux 连接问题的关键修复。
  7. 按照 this Stackoverflow answer 中的说明编译 winutils 和 Windows native 库.它比在 Windows 上构建整个 Hadoop 更简单。
  8. 设置 JAVA_HOMEHADOOP_HOMEPATH 环境变量,如 these instructions 中所述
  9. 使用文本编辑器或 unix2dos(来自 Cygwin 或独立的)转换 binetc 中的所有 .cmd 文件\hadoop 目录,否则在运行它们时会出现关于标签的奇怪错误。
  10. 在配置 XML 文件中配置集群的连接属性,即 fs.default.namemapreduce.jobtracker.addressyarn.resourcemanager。主机名 等。
  11. 添加第 2 项中的补丁程序所需的其余配置。这仅对客户端是必需的。否则补丁将不起作用。

如果您已完成所有这些,您就可以启动 Linux Hadoop 集群并从 Windows 命令提示符连接到它。快乐!

关于hadoop - 无法远程运行 Hadoop 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22191568/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com