一种基于hadoop集群的分布式监控系统及其方法

文档序号:7777915阅读:387来源:国知局
一种基于hadoop集群的分布式监控系统及其方法
【专利摘要】本发明涉及一种基于hadoop集群的分布式监控系统及其方法,所述系统包括采集代理模块、资源更新模块、网络监测模块、采集调度模块、告警生成模块和hadoop集群监控模块;所述hadoop集群监控模块与采集代理模块、资源更新模块、网络监测模块、采集调度模块和告警生成模块相连接。所述方法包括(1)采集所需要的探测资源及其所有指标信息;(2)将采集到的数据存储,并缓存;(3)调度并更新采集信息;(4)定时采样生成前台web所需数据图表;(5)监测集群内节点的网络状态;(6)通过阈值确定是否需要告警,告警则生成告警信息。本发明可作为一套独立的集群监控系统,方便的扩展基础指标库,取回当前指标数值,查看指标的汇聚视图,观察数据时序的趋势等。
【专利说明】一种基于hadoop集群的分布式监控系统及其方法
【技术领域】
[0001]本发明属于监控技术,具体将涉及一种基于hadoop集群的分布式监控系统及其方法。
【背景技术】
[0002]Hadoop是一个开源分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop 实现了一个分布式文件系统(Hadoop Distributed File System),简称 HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large dataset)的应用程序。Hadoop框架具有高可靠性、高扩展性、高效性、高容错性等特性。
[0003]随着Hadoop商业化的巨大成功,如何监控庞大的Hadoop集群成为各种Hadoop管理系统的接入点。由于Hadoop本身对JMX的支持,市场上绝大部分Hadoop管理软件都采用的Ganglia监控工具。
[0004]但现有的hadoop集群监控方案主要是利用hadoop对JMX的支持,通过Ganglia客户端达到集群监控的目的。Ganglia在大规模集群监控方案中会出现诸如单点障碍、网络利用率瓶颈等问题。

【发明内容】

[0005]针对现有技术的不足,本发明提供一种基于hadoop集群的分布式监控系统及其方法,本发明架构简单、安装方便等优势,进一步降低了网络利用率。而在hadoop集群指标方面,采用与JMX相结合的方式,通过hadoop自有接口实现。本发明对比Ganglia可定制化更高,性能优良,并提供了可扩展的监控告警,报表数据等增值模块。
[0006]本发明的目的是采用下述技术方案实现的:
[0007]一种基于hadoop集群的分布式监控系统,其改进之处在于,所述系统包括采集代理模块、资源更新模块、网络监测模块、采集调度模块、告警生成模块和hadoop集群监控模块;
[0008]所述hadoop集群监控模块与采集代理模块、资源更新模块、网络监测模块、采集调度模块和告警生成模块相连接。
[0009]优选的,所述采集代理模块、网络监测模块和采集调度模块共同完成集群各个节点的物理资源采集及其性能监控。
[0010]优选的,所述Hadoop集群监控模块通过JMX指标设计对Hadoop各组件指标的监控。
[0011]优选的,所述告警生成模块分析所有收集数据生成告警信息。
[0012]本发明基于另一目的提供的一种基于hadoop集群的分布式监控方法,其改进之处在于,所述方法包括:[0013](I)采集所需要的探测资源及其所有指标信息;
[0014](2)将采集到的数据存储,并缓存;
[0015](3)调度并更新采集信息;
[0016](4)定时采样生成前台web所需数据图表;
[0017](5)监测集群内节点的网络状态;
[0018](6)通过阈值确定是否需要告警,告警则生成告警信息。
[0019]优选的,所述步骤(I)包括资源探测,信息采集和指标更新。
[0020]进一步地,所述资源探测包括
[0021](7-1)采集调度启动;
[0022](7-2)向采集管理器注册探测器;
[0023](7-3)从管理器内获取探测器实例并进行资源探测;
[0024](7-4)将探测到的资源信息返回采集调度;
[0025](7-5)由调度器统一发回管理端并插入数据库。
[0026]进一步地,所述信息采集包括
[0027](8-1)采集调度启动;
[0028](8-2)向采集管理器注册采集器;
[0029](8-3)从管理器内获取采集器及其所需指标并进行指标采集;
[0030](8-4)将采集到的资源信息返回采集调度;
[0031](8-5)由调度器统一发回管理端并插入数据库。
[0032]进一步地,所述指标更新包括管理端将采集到的信息根据需求保存。
[0033]优选的,所述步骤(2)包括资源存储和指标存储。
[0034]优选的,所述步骤(3)包括资源探测和信息采集的调度。
[0035]优选的,所述步骤(3 )包括
[0036](3-1)调度器启动;
[0037](3-1)采集插件向管理器注册插件,并检测状态;
[0038](3-1)从管理器获取插件实例后,调度资源探测器或信息采集器收集信息;
[0039](3-1)将收集到的信息更新到缓存和数据库中。
[0040]优选的,所述步骤(4)包括收集HDFS、MapReduce、HBase、ZooKeeper组件的指标信息;通过数据库中信息,采用均值采样、最小值采样和最大值采样;按照小时、天进行定时采样以生成前台web所需数据图表。
[0041]优选的,所述步骤(5)包括通过线程池和调度采集信息进行网络监测;监测数据结构设计为一个HashMap〈String, Object〉,每一个线程为一个ping流程,数据返回提交到资源更新模块。
[0042]优选的,所述步骤(6)包括告警依赖于阈值的设计;获取到相应指标后,与阈值模板对比确定是否需要告警;
[0043]不需要告警则需要经已有告警记录过滤;
[0044]需要告警,则构造告警信息,当告警记录超过3次,则压入告警发送队列。
[0045]与现有技术比,本发明的有益效果为:
[0046]1、本发明架构简单易于实现,方便数据获取。[0047]2、本发明降低了节点代理客户端利用率,在大规模集群监控中提供了更佳的性倉泛。
[0048]3、本发明实现了对Hadoop集群的节点性能监控功能,并在监控基础上增加了多维度告警信息及其报表实现,方便用于随时随地提取集群性能报告。
[0049]4、本发明实现了对Hadoop集群的数据监控功能,更佳方便的增删现有Hadoop组件,并定制化组件监控参数,增强用户调优体验。
[0050]5、本发明底层实现可独立于Hadoop系统之外运行于任意规模的集群、网格或云基础架构中收集指标并可视化,可作为一套独立的集群监控系统,方便的扩展基础指标库,取回当前指标数值,查看指标的汇聚视图,观察数据时序的趋势等。
【专利附图】

【附图说明】
[0051]图1为本发明提供的一种基于hadoop集群的分布式监控系统结构图。
[0052]图2为本发明提供的一种基于hadoop集群的分布式监控系统采集代理流程图。
[0053]图3为本发明提供的一种基于hadoop集群的分布式监控系统资源存储流程图。
[0054]图4为本发明提供的一种基于hadoop集群的分布式监控系统指标存储流程图。
[0055]图5为本发明提供的一种基于hadoop集群的分布式监控系统网络监测流程图。
[0056]图6为本发明提供的一种基于hadoop集群的分布式监控系统采集调度流程图。
[0057]图7为本发明提供的一种基于hadoop集群的分布式监控系统告警生成流程图。
[0058]图8为本发明提供的一种基于hadoop集群的分布式监控系统Hadoop指标监控流程图。
【具体实施方式】
[0059]下面结合附图对本发明的【具体实施方式】作进一步的详细说明。
[0060]如图1所示,本发明包括采集代理模块、资源更新模块、网络监测模块、采集调度模块、告警生成模块以及hadoop集群监控模块。
[0061]其中,采集代理模块、网络监测模块、采集调度模块共同完成集群各个节点的物理资源采集及其性能监控。
[0062]其中,Hadoop集群监控模块通过JMX指标设计完成对Hadoop各组件指标的监控。
[0063]其中,告警生成模块分析所有收集数据生成告警信息。
[0064]资源:泛指包含指标属性的实体,例如物理实体(机柜,机箱,服务器等),计算实体(cpu,内存,硬盘等),以及虚拟实体(namenode, jobtracker等)。
[0065]采集代理:自动收集系统资源、资源指标的客户端程序。
[0066]采集调度:自动调节采集代理收集资源或者指标进度的一种算法程序。
[0067]告警:当指标值超过阈值范围时产生的系统不健康状态。
[0068]1、采集代理模块
[0069]生成所需要的探测资源及其所有指标信息。主要包括以下三个流程,资源探测,信息采集,指标更新。
[0070]资源探测:首先采集调度启动,向采集管理器注册探测器,注册成功后从管理器内获取探测器实例并进行资源探测。此时探测器将探测到的资源信息返回采集调度,由调度器统一发回管理端并插入数据库。
[0071]信息采集:首先采集调度启动,向采集管理器注册采集器,注册成功后从管理器内获取采集器及其所需指标并进行指标采集。此时探测器将探测到的资源信息返回采集调度,由调度器统一发回管理端并插入数据库。
[0072]指标更新:管理端将收集到的信息根据需求保存。
[0073]2、资源更新模块
[0074]把采集代理模块收集到的数据存储,并缓存。
[0075]主要包括资源存储和指标存储。
[0076]资源存储:获取列表中每一个资源名称,查看缓存内存中该资源是否存在,存在则增加进更新列表进行更新,不存在则通过插入列表增加存储,存储成功后,进行缓存,失败则结束。
[0077]指标存储:获取列表中每一个指标,查看缓存内存中该指标是否存在,存在则增加进更新列表进行更新,不存在则通过插入列表增加存储,存储成功后,进行缓存,失败则结束。
[0078]3、采集调度模块
[0079]资源探测和指标采集的调度模块,调度管理器采集插件探测资源和采集信息。
[0080]资源探测和信息采集的流程大致相同:调度器启动后,采集插件首先向管理器注册插件,并检测状态。从管理器获取插件实例后,调度资源探测器或信息采集器收集信息。将收集到的信息更新到缓存和数据库中。
[0081 ] 4、Hadoop集群监控模块
[0082]利用Hadoop 本身支持 JMX 的特性,收集到 HDFS、MapReduce、HBase、ZooKeeper 等组件大量的指标信息。通过采集代理更新到管理节点数据库中,采用三种采样方式:均值采样,最小值采样,最大值采样。按照小时、天进行定时采样以生成前台web所需数据图表。
[0083]5、网络监测模块
[0084]监测集群内所有节点的网络状态。
[0085]集群监控系统最主要功能是保证集群内节点间的通信,以及监控各个节点的运行状态。这里利用线程池和采集调度模块完成网络监测功能。监测数据结构被设计为一个HashMap〈String, Object〉,每一个线程为一个ping流程,数据返回提交到资源更新模块。
[0086]6、告警生成模块
[0087]监控系统最终是为了获得告警信息,已反馈管理人员排查。告警依赖于阈值的设计。获取到相应指标后,与阈值模板对比确定是否需要告警,若不需要告警则需要经已有告警记录过滤。若需要告警,则构造告警信息,当告警记录超过3次,则压入告警发送队列。
[0088]最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的【具体实施方式】进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。
【权利要求】
1.一种基于hadoop集群的分布式监控系统,其特征在于,所述系统包括采集代理模块、资源更新模块、网络监测模块、采集调度模块、告警生成模块和hadoop集群监控模块; 所述hadoop集群监控模块与采集代理模块、资源更新模块、网络监测模块、采集调度模块和告警生成模块相连接。
2.如权利要求1所述的一种基于hadoop集群的分布式监控系统,其特征在于,所述米集代理模块、网络监测模块和采集调度模块共同完成集群各个节点的物理资源采集及其性能监控。
3.如权利要求1所述的一种基于hadoop集群的分布式监控系统,其特征在于,所述Hadoop集群监控模块通过JMX指标设计对Hadoop各组件指标的监控。
4.如权利要求1所述的一种基于hadoop集群的分布式监控系统,其特征在于,所述告警生成模块分析所有收集数据生成告警信息。
5.一种基于hadoop集群的分布式监控方法,其特征在于,所述方法包括: (1)采集所需要的探测资源及其所有指标信息; (2)将采集到的数据存储,并缓存; (3)调度并更新采集信息; (4)定时采样生成前台web所需数据图表; (5)监测集群内节点的网络状态; (6)通过阈值确定是否需要告警,告警则生成告警信息。
6.如权利要求5所述的一种基于hadoop集群的分布式监控方法,其特征在于,所述步骤(I)包括资源探测,信息采集和指标更新。
7.如权利要求6所述的一种基于hadoop集群的分布式监控方法,其特征在于,所述资源探测包括 (7-1)采集调度启动; (7-2)向采集管理器注册探测器; (7-3)从管理器内获取探测器实例并进行资源探测; (7-4)将探测到的资源信息返回采集调度; (7-5)由调度器统一发回管理端并插入数据库。
8.如权利要求6所述的一种基于hadoop集群的分布式监控方法,其特征在于,所述信息采集包括 (8-1)采集调度启动; (8-2)向采集管理器注册采集器; (8-3)从管理器内获取采集器及其所需指标并进行指标采集; (8-4)将采集到的资源信息返回采集调度; (8-5)由调度器统一发回管理端并插入数据库。
9.如权利要求6所述的一种基于hadoop集群的分布式监控方法,其特征在于,所述指标更新包括管理端将采集到的信息根据需求保存。
10.如权利要求5所述的一种基于hadoop集群的分布式监控方法,其特征在于,所述步骤(2 )包括资源存储和指标存储。
11.如权利要求5所述的一种基于hadoop集群的分布式监控方法,其特征在于,所述步骤(3)包括资源探测和信息采集的调度。
12.如权利要求5所述的一种基于hadoop集群的分布式监控方法,其特征在于,所述步骤(3)包括 (3-1)调度器启动; (3-1)采集插件向管理器注册插件,并检测状态; (3-1)从管理器获取插件实例后,调度资源探测器或信息采集器收集信息; (3-1)将收集到的信息更新到缓存和数据库中。
13.如权利要求5所述的一种基于hadoop集群的分布式监控方法,其特征在于,所述步骤(4)包括收集HDFS、MapReduce、HBase、ZooKeeper组件的指标信息;通过数据库中信息,采用均值采样、最小值采样和最大值采样;按照小时、天进行定时采样以生成前台web所需数据图表。
14.如权利要求5所述的一种基于hadoop集群的分布式监控方法,其特征在于,所述步骤(5)包括通过线程池和调度采集信息进行网络监测;监测数据结构设计为一个HashMap〈String, Object〉,每一个线程为一个ping流程,数据返回提交到资源更新模块。
15.如权利要求5所述的一种基于hadoop集群的分布式监控方法,其特征在于,所述步骤(6)包括告警依赖于阈值的设计;获取到相应指标后,与阈值模板对比确定是否需要告m.1=I , 不需要告警则需要经 已有告警记录过滤; 需要告警,则构造告警信息,当告警记录超过3次,则压入告警发送队列。
【文档编号】H04L29/06GK103618644SQ201310614049
【公开日】2014年3月5日 申请日期:2013年11月26日 优先权日:2013年11月26日
【发明者】耿庆民, 郭庆, 谢莹莹, 苗艳超, 刘新春, 邵宗有 申请人:曙光信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1