我正在使用由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.等人的论文。根据他们提出的方法写道,他们改变了以下几个类:
有了这些信息,我是否只需编辑Hadoop-2.6.0源代码中的相应类?
编辑:
最后,作者解释说他们编辑了以下文件。
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不同
我将通过修改这些文件进行测试,希望迁移能够正常运行。
答案 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年的变化。我强烈建议您查看现有项目,而不是自己动手。