如何将Hadoop系统从0.20.1迁移到Hadoop 2.6.0?

时间:2015-02-24 00:02:11

标签: hadoop gpu

我正在使用由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不同

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

1 个答案:

答案 0 :(得分: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年的变化。我强烈建议您查看现有项目,而不是自己动手。