Hadoop管理系统研究与实现
2016-11-17尤元建黄增建
尤元建 黄增建
【摘要】由于信息爆炸时代的到来,信息目前呈级数级增长,因此大数据在各行业应用变得越来越普遍。Apache Hadoop作为一个大数据开源项目得到了广泛的应用和部署。典型的一个Hadoop大数据平台包括ZooKeeper、HDFS、Yarn、Hbase、Hive和Impala等应用。在数十台甚至上百台节点上部署和监控大数据相关应用是一个繁琐的任务。本文针对大数据平台自动化部署和图形化管理进行了分析与研究,最终实现一个大数据平台管理系统。
【关键字】Hadoop 大数据平台 部署 配置 监控
引言
随着时代的进步,我们目前已进入信息时代、云时代。单个企业的信息数据已经突破TB级,达到PB(1024TB)级别。通过传统的关系数据库分析这些结构化或者半结构化数据需要耗费较高的人力、物力和财力。
为应对这种场景大数据技术应运而生,大数据技术可以通过构建在廉价服务器上的应用对海量数据进行全面分析,以支持企业决策。
Apache Hadoop是Google大数据技术一个开源实现,具有高扩展性、高效性、高容错性、低成本以及易于虚拟化等特性,是目前行业事实的应用标准。Hadoop大数据生态圈核心包括Zookeeper、Hbase、Hive、Impala等应用。通过手工在数十甚至上百个节点上部署这些应用是一个非常复杂的工作,需要修改操作系统内核参数、网络配置以及Haoop本身的参数。本文通过研究、构建大数管理系统来解决这个问题。
一、典型的Hadoop管理平台
目前典型Hadoop管理平台主要的代表有:Apache开源项目Ambari,国际顶级大数据公司Cloudera的ClouderaManager以及国内各大数据应用推出的Hadoop管理平台。
Ambari优势是Apache的顶级开源项目,易于安装,简单易用。但是缺点同样明显,缺少技术支持和快速的需求响应,没有完备的日志系统和用户、安全管理系统。
Cloudera Manager由Cloudera公司研发支持CDH(Clouderas Distribution Including Apache Hadoop)的管理平台。Cloudera大数据研发能力和实施经验丰富,CM从功能、易用性等方面都是行业标杆。
国内大数据应用管理系统能够快速响应需求,同时能够紧密结合用户应用进行定制开发。具有鲜明的特点和优势。
二、Hadoop管理平台研究
考虑到Hadoop部署管理的复杂性,一般Hadoop管理平台需要具有以下几个功能:自动化部署、配置功能、性能监控、告警功能、日志管理和安全管理等。
2.1自动化部署
Hadoop的自动化部署是首先要解决的问题,有了自动化部署,Hadoop才有可能在大规模节点上部署。目前公开资料显示国内有达到4000节点
规模的Hadoop应用,手工在这种规模的节点上进行应用部署是个不可能完成的任务。
考虑到服务器为优化性能,可能不安装GUI组件。因此自动化部署部分需要考虑支持命令行安装功能。
2.2配置管理
配置部分也是Hadoop必须的功能之一。由于Hadoop各应都有配置文件,而且各应用之间还存在关联关系。同时和组网、主机IP以及主机名都相关,整个配置关系相当复杂。
其中图形化配置、自定义配置和配置回滚等功能为配置管理的关键功能。
2.3性能监控
性能监控部分主要提取Hadoop组件的性能数据,通过加工后,按照用户需求进行展示。包括Hadoop应用、网络及硬件性能。
考虑到管理系统存在和第三方系统对接的情况,性能监控需要提供北向接口。可以是SNMP或者Ftp形式。
2.4告警功能
通过告警功能用户可以及时发现系统异常情况,进而采取措施,保障系统稳定运行。告警功能需要及时、准确。同时能够以SNMP、邮件或者短信形式及时将告警信息转发到相关干系人。
2.5日志/安全管理
日志管理需要提供详细的操作、运行记录。以便在出现问题和日常维护中发现和定位问题。良好的日志管理系统可以在运维中起到事半功倍的效果。
安全管理部分主要包括用户、用户组管理、在线用户管理等。同时需要结合Hadoop应用的权限管理,比如任务提交、数据访问以及资源配额等。
三、Hadoop管理平台实现
Hadoop管理台架构示意图如图1。
考虑到兼容和易用性,管理平台客户端采用B/S(Browset/Serer)结构,支持IE、Chrome和Firefox浏览器。
最上层为功能组件层,主要是用户界面,提供各种管理功能。用户通过这些功能来部署、监控和管理Hadoop组件。
中间层为抽象的配置、性能和管理功能框架层。功能框架层带来的好处是通过简单增加配置文件中的配置项和少许的代码开发,即可支持新应用的安装,新指标的监控等功能。
最下层为支撑层,本层和操作系统结合比较紧密,在不同平台下,实现存在差异。本层提供信息转换,框架部署以及同代理通信等功能。
代理模块同Hadoop应用部署在一起,将Hadoop管理平台发送的信息传递给应用,同时将应用的信息返回给Hadoop管理平台。
四、结语
通过Hadoop管理平台可以进行高效的部署并配置Hadoop集群,并且不存在规模限制。同时图形化管理界面上的多种提示信息和正确性校验辅助手段可以保证配置的正确性和有效性,并能提供集群性能优化参数建议。极大了提高了Hadoop的可用性和性能。
自动化巡检、升级以及热点分析等辅助功能需要在后续继续研究实现。进一步提高Hadoop管理平台的实用性。