论文部分内容阅读
今天,像互联网应用、科学数据处理、商业智能数据分析等具有大数据处理需求的应用变得越来越普遍,Hadoop作为一个开源的分布式文件系统和并行计算编程模型得到了广泛的部署和应用。然而部署并管理一个Hadoop集群并不是一件轻松的工作,这主要是因为Hadoop相关系统的众多配置参数以及成百上千台服务器的集群规模。因此,如何快速自动化地构建可用的Hadoop集群并管理监控其运行状态成为值得研究的重要课题。本文对Hadoop相关系统进行了深入的研究,并对比分析现有部署管理技术,最终设计和实现了Hadoop集群的部署与管理系统HDMS,该系统旨在自动化地部署Hadoop相关系统、管理集群节点角色、修改配置参数、启动停止系统服务并监控系统运行状态。论文的工作成果主要体现在以下四个方面:(1)配置接口的设计与实现。通过提取Hadoop集群的可配置项,抽象成键值对形式的参数化接口,集中存放在HDMS系统的管理节点上,为上层应用系统提供了直观而方便的集群配置手段。(2)集群部署模块的设计与实现。通过执行远程命令为节点部署必要环境,主要包括部署网络环境、部署软件库、部署时间一致性服务、部署Puppet客户端以及应用配置到节点等操作,为上层应用系统提供了统一的集群部署接口。(3) Hadoop组件模块的设计与实现。利用Puppet资源描述语言来管理集群资源,包括Hadoop相关组件的软件包、配置文件和服务的启动停止。设计并实现了节点对于Hadoop服务的内存分配算法以及Mapreduce任务槽的数量计算。(4)安全模块和监控模块的设计与实现。基于Puppet设计并实现了Kerberos身份认证系统以及Ganglia集群监控系统的的部署和管理方案,并自动化地修改Hadoop相关参数完成集成工作,为Hadoop集群提供了安全保障和监控手段。