Linux集群数据生成及管理工具中任务管理模块的设计与实现
作者单位:南京大学
学位级别:硕士
导师姓名:邵栋;荣国平
授予年度:2014年
学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)]
主 题:分布式 Linux集群 java NIO java线程 任务调度
摘 要:随着互联网的普及以及数据爆发式的增长,快速处理数据并从中得到有意义的信息成为焦点问题,传统架构的信息系统对此类问题难以为继,且其昂贵的设备价格使用户望而却步。分布式计算框架Hadoop能够用“廉价服务器组成稳定集群,对pb级大数据进行存储和计算,因此Hadoop产品受到国内各家企业的广泛关注,围绕Hadoop产品开展的假设验证(Proof of Concept)也如火如荼的进行着。本文研究了Hadoop产品的POC实施过程,发现POC需要运行各种各样的shell脚本和Java程序,却缺乏一种对任务的管理和监控手段。本文对比了国内流行使用的分布式管理软件和计算软件ganglia、nmon、 saltstack和hadoop,分析了它们各自的适用领域,发现它们并不能完全解决POC中遇到的Hadoop相关数据收集、测试数据生成、Java程序分发执行和监控管理等问题,本文提出了一种Linux集群数据生成及管理工具,它可以部署在多节点的Linux集群上,具有集群状态监控、自定义数据生成、Java任务分发执行和管理等功能,帮助IDH产品实施POC项目。本文研究、设计和实现了Linux集群数据生成及管理工具中的任务管理模块,工具由Java语言编写而成,使用了Java NIO和Java线程技术。工具提供了自定义任务类和自定义策略类的基类,约定了继承时所需重写的方法,用户可以继承这些基类,编写出指定执行顺序或其他执行策略的代码,由工具负责分发执行和监控管理。通过Linux集群数据生成及管理工具,用户能够方便地编写任务顺序执行代码、日志信息收集分析代码等个性化Java程序,无需从头开始了解分布式编程的知识。已有分布式编程经验的用户也可复用工具中的分布式框架和任务调度逻辑,通过自定义代码的方式扩展系统的功能。