论文部分内容阅读
在分布式系统、大数据平台成为IT技术十分重要技术的时代,建立一个具有良好的健壮性与可扩展性的分布式系统框架平台将是加速分布式系统与大数据领域逐步走向多元化与高可集成化的一个重要途径,Hadoop分布式系统平台是目前大数据以及云计算领域使用广泛且具有很强的潜力的一个分布式系统。但是在如今分布式系统架构的多元化的现状下,作为受关注度以及使用最为广泛的Hadoop系统,如果在提高自身性能的同时,又能够提供与其他分布式系统之间更好的兼容性是一个新颖又实用的课题。Hadoop版本升级之后提出了新的模块YARN资源管理器,针对IBM内部现有的相类似的资源管理模块EGO,IBM内部提出期望将Hadoop YARN模块的应用程序接口(Application Programming Interface,API)移植到 EGO 模块之上。但是现存的问题是YARN资源管理模块的API无法直接移植匹配到EGO之上。原因是两个模块之间存在很大的异构性,YARN模块采用JAVA语言开发,而EGO模块则采用C语言开发。另外两个系统对于结构化数据的定义有着很大的不同,在进行API匹配的过程时这也是需要解决的问题。本文主要包括以下几个方面的工作。1.本文首先需要针对现存的两个系统模块(YARN模块以及EGO模块)进行分析,其中主要分析到API具体内容,模块的具体功能,本文后面的具体工程内容是建立在针对YARN模块API,以及YARN模块本身架构详细的分析下来完成的。寻找出Hadoop YARN模块无论在对外暴露的API,以及其内部各模块的接口的工作原理。并且针对第三方模块的特性,将Hadoop资源管理模块API以及与第三方模块相类似的模块接口迁移到第三方模块之上。2.基于对Hadoop YARN模块源码详细的分析,需要提出Hadoop YARN模块API如果进行移植工作所面临的问题,以及为何无法直接照搬移植的原因。针对其中存在的问题,提出需要利用的技术以及给出一定的解决方案。通过该方案完成移植工作,将Hadoop YARN模块的API移植到EGO模块之上,完成YARN模块之上的应用运行在EGO模块之上。3.对YARN模块API与EGO模块进行集成测试,通过对移植的API进行单元测试,并且通过YARN模块API与EGO进行测试给出测试结果并提出仍然存在的问题,并给出未来的解决方案。最后对于未来工作的展望,本文虽然对于Hadoop YARN模块的API进行移植工作,移植到EGO模块之上,并且测试通过将利用YARN模块API编写的应用运行在EGO模块上。但是如果期望将利用YARN模块API开发的Application完美运行在EGO之上仍然需要一些二次开发工作。并且针对后期可能出现的问题重新分析并给出解决方案。