APP下载

基于Hadoop的分布式云监控平台系统的研究与设计

2016-11-22刘殊

电子设计工程 2016年15期
关键词:任务调度日志站点

刘殊

(广东体育职业技术学院 广东 广州 510663)

基于Hadoop的分布式云监控平台系统的研究与设计

刘殊

(广东体育职业技术学院 广东 广州 510663)

为了维护云服务器及各种云计算服务的稳定运行,在云计算技术和云监控技术的基础上,设计了基于Hadoop的分布式监控平台系统。通过对Hadoop技术的研究,着重对应用服务器的进程、站点及日志进行监控设计,利用云监控和大数据分析技术对采集的监控数据进行分析提供异常、报警等分析服务,为云平台用户提供稳定的云监控。

云监控;Hadoop;分布式;云计算

随着云计算技术的不断发展,各行各业正通过云计算的应用来改变传统的技术构架和运作模式[1-3]。云计算是基于庞大低成本的计算机群为用户提供各种云服务,这些服务的可靠性、可用性依赖于分布式架构或特定计算机模型,随着廉价服务集群的大规模出现,容易形成不稳定的集群,造成宕机或者服务时效等事件,因此如何保障云计算服务的可靠与可用是推广云计算技术需要解决的问题[4]。文中基于Hadoop技术研究设计了分布式云监控平台系统,该系统具有较低资源消耗的监控程序,能以分布式构架运行,云服务器或云计算服务出现异常时,能够及时报警、解决,为保障云服务的稳定运行具有重要意义。

1 Hadoop监控技术

1.1 弹性云平台

本次设计的云监控平台是在实验室的弹性云平台上进行的。云计算框架有IaaS、PaaS及SaaS 3种,框架不同提供的服务不同,SaaS层除了能提供监控功能外,还可以提供一些基础服务;IaaS层主要提供资源监控和预测;PaaS层提供平台服务监控。云监控能为各层应用提供响应的保障[5-6]。弹性云平台可以为用户提供基础设施层服务。用户可根据自己的需求定制云服务器配置、操作系统,配置所需的运行环境,采用客户端或者命令终端的方式访问虚拟机。在云主机中,不同的服务可以通过扩展的方式来获得,比如安全盾、镜像、云监控等,类似于软件系统,硬件系统也可以实现功能扩展,在保证低成本的情况下,高效的使用各种服务。

1.2 Hadoop简介

Hadoop是Apache的一个开源项目,是可以提供开源、可靠、可扩展的分布式计算工具[7]。Hadoop主要包括HDFS和MapReduce两个组件,分别用于解决大数据的存储和计算。

1.2.1 HDFS

HDFS是独立的分布式文件系统,为MapReduce计算框架提供存储服务,具有较高的容错性和高可用性,基于块存储以流数据模式进行访问,数据节点之间相互备份[8-9]。默认存储块大小为64M,用户也可以自定义大小。HDFS是基于主从结构的分布式文件系统,结构上包括NameNode目录管理、DataNode的数据存储和 Client的访问客户端 3部分。NameNode主要负责系统的命名空间、集群的配置管理以及存储块的复制;DataNode是分布式文件系统存储的基本单元;Client为与分布式文件系统的应用程序。体系结构图如图1所示。

图1 HDFS体系构架图

1.2.2 MapReduce

MapReduce是一种分布式计算框架,适用于离线大数据计算[10]。采用函数式编程模式,利用Map和Reduce函数来实现复杂的并行计算。原理如图2所示。

图2 分布式计算原理

1.3 Ganglia监控

Ganglia是一种应用比较广泛的开源监控系统,常见主要应用于集群监控。Ganglia主要包括 gmetad、gmond及 web front-end组件3部分[11]。Gmetad是服务端程序,负责周期性的轮询各节点,获取数据。gmond是客户端程序,负责周期性的收集各个计算节点的性能状态,完成Gmond计算节点之间相互传输备份。监控的数据采用压缩的XML格式进行传输。Ganglia的工作方式分为单播模式和多播模式。采用单播模式时数据在gmetad和gmond之间进行通信。在多播模式下,数据采集节点也是数据接收节点,采集节点可以向同一组的其他节点发送数据,也可接收数据。默认模式为多播模式。

2 云监控平台设计

云监控平台是以分布式的框架运行在云计算集群中,为云服务器、程序或分布式应用提供基础监控的分布式应用服务[12-15]。云监控可以根据用户的实际需求利用脚本化的方式进行部署,在显示系统中,用户可以提交监控任务。任务调度器执行任务后,可在web展示系统中查看任务状态并进行管理,当出现异常情况时对其进行捕获和警报。云监控覆盖整个云计算的基础设施,以友好的web界面进行监控。功能结构图如图3所示。

图3 云监控功能结构原理

2.1 中央任务调度器的设计与实现

本次设计中央任务调度器采用Rcactor设计模式,可以分离读写I/O,通过单线程进行派发,实现高效同步处理。中央任务调度器主要完成web监控系统和分布式监控程序之间的任务转发。将用户提交的监控任务利用统一的借口提交给中央任务调度器,之后将监控任务保存在队列中,等待执行,结构框架图如图4所示。通过Zookeeper来对程序运行情况进行监控,如果出现某节点监控程序失效,则会重新发送运行指令。

图4 调度器处理事件原理图

2.2 应用服务器监控设计与实现

对于进程级别来说,监控主要对进程的资源使用情况、运行状态等进行监控。在云计算的应用上,云主机主要运行管理系统、网站,因此本次设计应用服务监控,主要针对应用管理、资源管理、代码部署及线程信息等内容。监控的指标如表1所示。

监控程序通过JMX来实现,JMX是用来监控JVM的框架和API,可以用来查询和更改应用的配置、状态及管理网络,同时还可以进行远程管理API。程序可利用MBcan获取应用程序信息。在监控Tomcat服务器中,包括Tomcat MBcan和Java MBcan的信息。对Tomcat服务器监控控制在每10秒执行一次,获取当前jvm的运行状态数据,并将其录入MySQL数据库,用户登陆后,可从数据库中调取相应的监控信息。

表1 监控的指标

2.3 站点监控设计与实现

站点的监控主要针对应用服务器运行的web站点的运行状态进行监控,监控的数据指标如表2所示。

表2 监控数据指标

站点监控程序包括协议监控模块和警报监控模块2部分,站点的监控实行通过各种网络访问协议,来对当前的运行状态进行全面掌控。在协议监控模块的实现中通过使用任务队列和线程池的方式,进行并行监控。掌握站点当前的运行状态,对各项监控指标进行预警设置,用于检测web服务器或web站点的异常情况。

当出现异常时,及时向管理员发送警报消息,对异常处进行处理。对于站点的异常检测一般采用基于网络协议的监控来实现,在监控进行的同时,对连接失效的进程进行统计,当统计的数量达到设定的阈值时,启动报警,并继续跟踪错误信息,并分析是否需要发送警报消息。原理图如图5所示。

2.4 日志监控的设计与实现

访问日志收集、程序日志收集、日志分析是日志监控程序的主要组成部分,在功能上实现日志的收集、存储、查询和分析,其次通过实时监控程序日志,提出程序异常警报机制、异常分析等建议。在日志监控中,用户只需配置产生日志的格式和形式,就能实现数据的采集,并通过分析将其进行归档至HBase。

启动日志监控时,将Tomcat的日志进行统一,文件为conf/server.xml。则输出格式配置为:

日志分析就是将需要分析的内容和算法通过MapReduce来实现,然后由LogAnalyzeService统一按时调度执行这些任务,整个过程在MapReduce分布式计算框架的基础上实现。输出日志格式之前首先构造日志对象Logger类,包含各种基础指标数据。如表3所示。

表3 logger表

3 结论

此次设计的基于Hodoop的分布式云监控平台在弹性云平台上进行,监控层次包括应用程序监控系统、站点监控系统和日志监控系统三层,并对各个监控系统进行了详细阐释,为云计算服务器和程序的运行提供监控服务和异常警报,为云平台用户提供稳定的云监控。

[1]孙熠,梁栋云,王文杰.Web应用程序安全性测试平台关键技术研究[J].信息安全与技术,2014(1):32-35.

[2]沈青,董波,肖德宝.基于服务器集群的云监控系统设计与实现[J].计算机工程与科学,2012(10):46-49.

[3]董波,沈青,肖德宝.云计算集群服务器系统监控方法的研究[J].计算机工程与科学,2012(10):28-31.

[4]许丞,刘洪,谭良.Hadoop云平台的一种新的任务调度和监控机制[J].计算机科学,2013(1):56-58.

[5]胡光民,周亮,柯立新.基于Hadoop的网络日志分析系统研究[J].电脑知识与技术,2010(22):13-16.

[6]杨旻.Hadoop云计算平台在高校实验室教学环境中的实现[J].电脑知识与技术,2011(9):34-38.

[7]刘军.Hadoop大数据处理[M].北京:人民邮电出版社,2013.

[8]黄立勤,柳燕煌.基于MapReduce并行的Apriori算法改进研究[J].福州大学学报:自然科学版,2011(5):36-39.

[9]宋均,祝林.基于云计算的海量数据处理平台设计与实现[J].电讯技术,2012,52(4):566-570.

[10]蔡柳青.基于MongoDB的云监控设计与应用[D].北京:北京交通大学,2011.

[11]胡金安.云数据中心计算资源监控系统的设计与实现[D].成都:电子科技大学,2012.

[12]孙寅林.基于分布式计算平台的海量日志分析系统的设计与实现[D].西安:西安电子科技大学,2012.

[13]曾金梁.分布式日志分析系统的设计与实现[D].北京:北京邮电大学,2014.

[14]胡善杰.在云环境下的数据挖掘算法的并行化研究[D].成都:电子科技大学,2013.

[15]白云龙.基于Hadoop的数据挖掘算法研究与实现[D].北京:北京邮电大学,2011.

Research and design of distributed cloud monitoring platform system based on Hadoop

LIU Shu
(Guangdong Sports Vocational and Technical College,Guangzhou 510663,China)

In order to maintain the cloud server and a variety of cloud computing the stable operation of the service,in the cloud computing and cloud monitoring technology based on Design Based on Hadoop distributed monitoring platform system.Through the research on Hadoop technology,focusing on the process of application server,site and logs of monitoring design,using the cloud monitoring and data analysis technology to collect monitoring data analysis provide exception alarm and other analysis services,cloud platform for the user to provide stable cloud monitoring.

cloud monitoring;Hadoop;distributed;cloud computing

TN918

A

1674-6236(2016)15-0009-04

2016-02-22 稿件编号:201602087

国家自然科学基金资助项目(61561055);广东省高等职业教育教学改革项目(201401130)

刘 殊(1968—),男,吉林榆树人,硕士研究生,高级讲师。研究方向:计算机网络技术。

猜你喜欢

任务调度日志站点
一名老党员的工作日志
扶贫日志
基于PEPA的云计算任务调度性能分析
基于Web站点的SQL注入分析与防范
基于改进NSGA-Ⅱ算法的协同制造任务调度研究
雅皮的心情日志
游学日志
积极开展远程教育示范站点评比活动
首届欧洲自行车共享站点协商会召开
怕被人认出