如何将hadoop系统从0.20.1迁移到hadoop2.6.0?

58wvjzkj  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(507)

我使用的是由koichi shirahata、hitoshi sato和satoshi matsuoka创建的系统,他们在这里创建了hadoop gpu系统,可以在这里找到。本系统采用hadoop-0.20.1。另一个名为millecker的用户转移了我之前提到的hadoop gpu系统,并将其转移到hadoop-1.0.3(可以在这里找到)。
我想做一些类似米勒所做的事情,并转移白田康夫的工作。使用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文件
Map任务.java
任务.java
taskgraphservlet.java文件
taskinprogress.java文件
任务报告.java
任务状态.java
tasktracker.java文件
tasktrackerstatus.java文件
jobconf.java文件
jobinprogress.java文件
jobqueuetaskscheduler.java文件
作业跟踪器.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文件
我将通过修改这些文件来进行测试,希望移植能够成功。

wnvonmuf

wnvonmuf1#

有了这些信息,我是否只需要在hadoop-2.6.0的源代码中编辑相应的类?
不完全是。他们对2009年9月发布的版本0.20.1进行了修改。您希望将这些更改合并回2014年11月发布的2.6.0版本。经过5年的激烈发展,合并是很困难的。虽然我没有具体看你的案例,但至少那些文件有很多小的改进,实际上大部分都已经完全重新设计。
要成功地重新集成更改,您需要知道这些类如何适合0.20.1,更改如何与它们交互,以及它们的所有等价项如何在2.6.0中工作。您的更改可能会超出您所希望的范围,扩展到更多的代码库中。例如,除了旧的mapred api之外,还有一个新的mapreduce api,它与0.20.1的api更为遥远。yarn现在是首选的资源管理器,我怀疑它在当前状态下是否能够很好地处理gpu。
我将通过修改这些文件来进行测试,希望移植能够成功。
长话短说,难的不是应用补丁,而是理解5年的变化。我强烈建议您研究现有的项目,而不是自己做这件事。

相关问题