一种面向Hadoop集群的分布式监控管理系统的制作方法

文档序号:9929452阅读:1491来源:国知局
一种面向Hadoop集群的分布式监控管理系统的制作方法
【技术领域】
[0001]本发明涉及一种面向Hadoop集群的分布式监控管理系统,该系统更适用于实际需 求。通过此系统能够了解服务器资源分配,跟踪Hadoop运行状况,告警异常状况,简化 Hadoop平台配置操作,在此基础上发现系统资源瓶颈,并优化性能。此系统也可用于其他需 求环境中对于分布式集群的监控管理。
【背景技术】
[0002]与普通的计算机网络环境或数据中心不同,基于Hadoop构建的云计算环境,具有 节点数量大、组件及应用复杂的特点,Hadoop旨在运行于低成本的计算机上,视故障为常 态,且Hadoop涵盖的功能非常广泛并使用复杂的分布式并行计算架构,这也给Hadoop集群 的运营与维护带来了极大的挑战。
[0003]目前针对于Hadoop监控和管理的工具有很多,例如Zookeeper、Ganglia、Nagios、 Ambari、Chukwa等。每种管理工具在其所专注的领域内,都是比较成功和好用的。Zookeeper 用于配置文件的管理、Ganglia和Nagios分别负责分布式集群的监控和告警、Ambari为集群 部署和监控管理提供了统一的解决方案、Chukwa解决了收集和分析集群日志的问题。 Zookeeper专注于Hadoop平台配置文件的管理工作。Ganglia作为一个出色的集群监控工 具,分布式监控效果突出,为我们提供了计算机集群内的采集、收集、存储和展示全套的功 能。但它不能对日志分析,只是单纯监控集群的工作状态。Ganglia自带的监控页面可以按 不同粒度展示历史数据随时间的变化趋势,而且可以自定义参数。但是展示的参数多而全, 想要从中筛选出自己需要的信息,需要对Ganglia有很好的了解,且需要有一定的管理和运 营集群的经验。这对于一般的Hadoop使用者是一个挑战。Nagios是一款出色的监控和告警 工具。可以通过设计插件随意监控自己关心的内容,并设定阈值,当监控值超过阈值时, Nagios会通过邮件或者短信的方式告警。但是出色的告警功能并不能满足我们监控资源的 需求。只能作为集群管理的重要环节。此外,Ganglia和Nagios有一些功能重叠,如果要使用 这两种工具,需要规划两者的监控指标,避免不必要的资源浪费。Chukwa现阶段仍不稳定, 安装过程复杂,调试困难。其中最接近我们需求的是Ambari,但在实际使用过程中,我们发 现Ambari还存在非常多的问题。Ambari无法作为单独的监控和管理工具,不能监控自行安 装的集群,必须在安装集群时就使用Ambari,并严格遵守安装时的各种角色分配。对于不同 的操作系统,安装经常会遇到不能解决的问题,也就是说,Ambari并不能很好的运行于各个 Linux操作系统上。

【发明内容】

[0004]综上所述,在了解了当前主流的集群管理和监控系统后,本发明开发了一种面向 Hadoop集群的分布式监控管理系统,一种更适用于我们实际需求的监控管理系统。通过此 系统能够了解服务器资源分配,跟踪Hadoop运行状况,告警异常状况,简化Hadoop平台配置 操作,在此基础上发现系统资源瓶颈,并优化性能。
[0005] 本发明的目的是解决对于Hadoop平台的性能监控、故障报警、配置管理,其中包 括:
[0006] 1、监控报警功能主要包括采集和存储所有监控的基础数据以及故障告警。
[0007] 2、本系统所能监控的数据不仅仅是系统资源和Hadoop的Metrics信息,也可以是 Hadoop组件日志和其他组件日志。这是因为Hadoop的Metrics信息无法给出我们所关心的 作业运行百分比等信息,所以Hadoop组件日志也是非常重要的基础监控数据来源。日志中 通常包含了组件运行开始后,每项操作所调用的代码包、操作执行结果等信息。分析Hadoop 组件日志信息,对流量分析系统的监控与优化有非常大的帮助。此外对于自行开发运行于 集群并与Hadoop组件相关联的组件,为了得到其当前运行情况,以及整体健康状况,应该根 据自身需求定义可以反映组件状况的指标,并提供日志输出这些指标。监控系统可以监控 这些组件的日志,并根据需求报警。
[0008] 3、通过配置管理模块实现Hadoop平台的统一配置服务,当监控管理系统进行报警 时,相关人员可以修改Hadoop平台的配置,重新组织和协调资源,并提供web界面简化配置 操作。
[0009] 4、采用综合展示模块实现前端数据的可视化。可以综合展示所有监控指标和报警 指标。全方位的了解平台的运行状况。简化并综合繁琐复杂的展示页面,只展现重要的一般 管理者和维护者感兴趣的参数和指标。另外本系统也支持用户直接访问web页面,查看用户 所关心的其他指标。
[0010] 为实现本发明之目的,采用以下技术方案予以实现:
[0011] 一种面向Hadoop集群的分布式监控管理系统。一种更适用于我们实际需求的监控 管理系统。主要包括性能监控模块,故障报警模块,综合分析查询模块,综合展示模块,配置 管理模块,系统管理模块。其中:
[0012]性能监控模块,随时了解Hadoop平台的最新状态,发现资源瓶颈,提高平台运行效 率,可以监控的数据包括:服务器资源、Hadoop MetridHadoop组件日志以及其他组件日 VI、J、〇
[0013] 故障报警模块,当计算资源的性能达到瓶颈时,向相关人员发出短信或者邮件告 警。及时发现平台故障,以维持平台的正常运行,其基本功能包含监控平台状态、发现故障 节点、故障进程以及故障服务,记录故障及处理信息,对于不同等级的故障,通知不同级别 的管理人员处理。
[0014] 综合分析查询模块,用于提供计算查询服务,采集到的系统数据并不能直接呈现 给用户,因为数据通常为瞬时值,而我们关心的指标数据需要经过计算后得到。综合分析查 询模块读取数据库中的监控和报警数据,进行计算,计算后的指标存入数据库,并提供各个 指标的查询接口。
[0015] 综合展示模块,综合展示各个监控报警指标,可选择ECharts实现前端数据的可视 化。
[0016] 配置管理模块,目的在于简化平台配置操作,组织和协调计算资源,完成对Hadoop 平台的配置工作。可基于zookeeper实现分布式统一配置服务,时效性和数据安全性都能得 到保证,并提供web界面简化用户配置操作。
[0017] 系统管理模块,提供web界面维护用户管理及权限管理功能。增加系统安全性能, 对Hadoop平台的配置管理功能仅对系统管理者开放,普通用户只具备对平台的监控功能。 [0018]所述的分布式监控管理系统,优选的:
[0019] 监控管理系统的监控报警功能包括:采集和存储所有监控的基础数据;进行故障 告警。将Hadoop集群中各个需要被监控的组件作为被监控节点,选择一个独立于集群的机 器,或者集群内相对空闲的一台机器作为监控节点。本系统主要通过在被监控节点和监控 节点上设置监控报警模块来实现监控报警功能。
[0020] 所述的分布式监控管理系统,优选的:
[0021] 性能监控模块,可基于Ganglia实现,监控的数据包括:服务器资源、Hadoop Metrics、Hadoop组件日志以及其他组件日志。采集的监控数据存放于RRD(Round_Robin Database)中,供web展示使用。
[0022]所述的分布式监控管理系统,优选的:
[0023]故障报警模块,可基于Nagios实现,进行故障判断的基础数据来源于两类:一类是 性能监控模块采集存放于RRD中的基础数据;另一类是告警信息收集模块上报的基础数据。 在各个被监控节点和监控节点上分别具有告警信息收集模块,在监控节点上安装告警信息 核心部件,被监控节点具有告警信息收集模块,将收集到的告警信息传输给监控节点的告 警信息核心部件,并根据告警信息的级别和种类,选择相关的管理人员发出短信或邮件报 警。监控节点的告警信息收集模块会扫描RRD中的数据,根据告警信息的级别和种类,选择 相关的管理人员发出短信或邮件报警,并将告警信息传输给监控节点的告警信息核心部 件。告警信息核心部件将告警信息存储于DB中,供web展示使用。
[0024]所述的分布式监控管理系统,优选的:
[0025]综合分析查询模块,提供分析查询服务,所采集的原始数据通常并不适宜直接展 示给用户,使用者通常关心的是使用原始数据计算后得到的值。所以展现给用户的数据有 一部分是经原数据计算后得到的。模块读取RRD和Mysql数据库中的监控和报警数据,进行 相关计算,将计算后的监控和报警指标存入Mysql数据库,并提供各个指标的查询接口。 [0026]所述的分布式监控管理系统,优选的:
[0027]综合展示模块,综合展示各个监控报警指标,本发明选择ECharts实现前
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1