【问题标题】:How to Migrate Hadoop System from 0.20.1 to Hadoop 2.6.0?如何将 Hadoop 系统从 0.20.1 迁移到 Hadoop 2.6.0?
【发布时间】:2015-04-25 11:51:42
【问题描述】:

我正在使用由 Koichi Shirahata、Hitoshi Sato 和 Satoshi Matsuoka 创建的系统,他们创建了一个 Hadoop-GPU 系统,可以在 here 找到。本系统使用 Hadoop-0.20.1。另一个名叫millecker的用户将我之前提到的Hadoop-GPU系统转移到使用Hadoop-1.0.3(可以找到here)。

我想做类似于millecker 所做的事情,并转移Shirahata K. 等人的工作。使用 Hadoop-2.6.0 而不是 1.0.3。

要将所有内容从 Hadoop-0.20.1 迁移到 Hadoop-2.6.0,以便我可以在 Hadoop-2.6.0 上应用 Hadoop+GPU 组合,需要哪些步骤?

编辑:

所以我重新阅读了 Shirahata K. 等人的论文。编写并根据他们提出的方法,他们更改了以下类:

  • MapTaskStatus.java
  • MapTask.java
  • Task.java
  • TaskGraphServlet.java
  • TaskInProgress.java
  • TaskReport.java
  • TaskStatus.java
  • TaskTracker.java
  • TaskTrackerStatus.java
  • JobConf.java
  • JobInProgress.java
  • JobQueueTaskScheduler.java
  • JobTracker.java

有了这些信息,我是否只需要在 Hadoop-2.6.0 的源代码中编辑相应的类?

编辑:

最后,作者解释说他们编辑了以下文件。

  • hadoop-gpu-0.20.1/src/docs/cn/src/documentation/sitemap.xmap 不同
  • hadoop-gpu-0.20.1/src/docs/cn/uming.conf 不同
  • hadoop-gpu-0.20.1/src/mapred/org/apache/hadoop/mapred/JobConf.java 不同
  • hadoop-gpu-0.20.1/src/mapred/org/apache/hadoop/mapred/JobInProgress.java 不同
  • hadoop-gpu-0.20.1/src/mapred/org/apache/hadoop/mapred/JobQueueTaskScheduler.java 不同
  • hadoop-gpu-0.20.1/src/mapred/org/apache/hadoop/mapred/JobTracker.java 不同
  • hadoop-gpu-0.20.1/src/mapred/org/apache/hadoop/mapred/MapTask.java 不同
  • hadoop-gpu-0.20.1/src/mapred/org/apache/hadoop/mapred/MapTaskStatus.java 不同
  • hadoop-gpu-0.20.1/src/mapred/org/apache/hadoop/mapred/TaskGraphServlet.java 不同
  • hadoop-gpu-0.20.1/src/mapred/org/apache/hadoop/mapred/TaskInProgress.java 不同
  • hadoop-gpu-0.20.1/src/mapred/org/apache/hadoop/mapred/Task.java 不同
  • hadoop-gpu-0.20.1/src/mapred/org/apache/hadoop/mapred/TaskReport.java 不同
  • hadoop-gpu-0.20.1/src/mapred/org/apache/hadoop/mapred/TaskStatus.java 不同
  • hadoop-gpu-0.20.1/src/mapred/org/apache/hadoop/mapred/TaskTracker.java 不同
  • hadoop-gpu-0.20.1/src/mapred/org/apache/hadoop/mapred/TaskTrackerStatus.java 不同

  • hadoop-gpu-0.20.1/src/mapred/org/apache/hadoop/mapred/pipes/Application.java 不同

  • hadoop-gpu-0.20.1/src/mapred/org/apache/hadoop/mapred/pipes/Submitter.java 不同

我将通过修改这些文件进行测试,希望迁移能够成功。

【问题讨论】:

    标签: hadoop gpu


    【解决方案1】:

    有了这些信息,我是否只需要在 Hadoop-2.6.0 的源代码中编辑相应的类?

    不完全是。他们对版本 0.20.1 进行了更改,which was released in September 2009。您希望将这些更改合并回 2014 年 11 月发布的版本 2.6.0。经过 5 年的紧张开发后合并更改很难。虽然我没有具体查看您的案例,但至少这些文件有许多 小的改进,实际上大多数都经过了完全重新设计。

    要成功重新集成这些更改,您需要了解这些类如何适应 0.20.1、这些更改如何与它们交互,以及它们的所有等价物如何在 2.6.0 中工作。您的更改可能会传播到比您想要的更多的代码库中。例如,new mapreduce api in addition to the old mapred api 与 0.20.1 的距离更远。 YARN 现在是首选的资源管理器,我怀疑它在当前状态下能否很好地处理 GPU。

    我将通过修改这些文件进行测试,希望迁移能够成功。

    长话短说,困难的部分不是应用补丁,而是理解 5 年的变化。我强烈建议您研究现有项目,而不是自己做。

    【讨论】:

    • 是的,昨晚我测试了我的迁移方法后,我明白了你的意思。在您发帖之前,我选择了您的最后一种方法,即使用现有项目。我不想处理 YARN 的使用,所以我将使用 millecker 已经创建的 1.0.3 实现并从那里开始。
    猜你喜欢
    • 2015-06-14
    • 2019-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-25
    • 1970-01-01
    相关资源
    最近更新 更多