一种面向多级调度分布式并行计算的监控系统及监控方法_2

文档序号:9923488阅读:来源:国知局
Leader用于进行投票的发起和决议,更新系统状态,paxos算法原理内部核心机制是原子广播机制,该机制保证各个Server之间的状态和数据同步,实现该机制的协议为Zab协议;Zab协议有两种模式,是恢复模式和广播模式;当服务启动或者在领导者Leader奔溃后,Zab就进入了恢复模式;当领导者被选举出来,且Server完成了和新Leader的状态同步后,恢复模式就结束了 ;
[0036]每个本地集群都只向自己的网关节点上报集群信息,然后通过网关服务器上调用资源池开放接口将自己的信息记入资源池,实现所有网关服务器的实时共享。
[0037]和最接近的现有技术比,本发明提供技术方案具有以下优异效果
[0038]1、本发明技术方案采用TCP、UDP通信协议及分布式一致性算法原理实现对本地集群的监控以及多级共享集群的监控,解决分布式计算的实时信息获取、计算任务的动态分布情况以及服务器节点性能的实时情况;
[0039]2、本发明技术方案通过消息协议解析以及全局资源池技术实现全国各地分布式计算集群平台统一集中管理和维护,实现单个集群平台各服务器性能监视、任务计算状态信息实时获取,高效获取错误故障信息;
[0040]3、本发明技术方案减少分布式计算运维成本,提高系统运行效率;
[0041]4、本发明技术方案通过对本地集群的监控以及对多级共享集群的管控既能完成对单个分布式计算平台的cpu、磁盘、内存等信息的获取,也能完成对资源池中的多个分布式共享集群的服务器节点数、当前任务数、当前CPU等资源信息的获取和管理;
[0042]5、本发明技术方案从用户和分布式并行计算服务的两个角度,对集群进行监控和管理;
[0043]6、本发明技术方案结合现有监控技术的优势,利用zookeeper分布式框架方案,具有很好的可扩展性、实时性、准确性、低干预性。能更好的为上层资源调度和按需服务提供资源管理属性和状态支持。
【附图说明】
[0044]图1为本发明实施例的本地集群监控处理过程示意图;
[0045]图2为本发明实施例的多级共享集群监控处理过程示意图;
[0046]图3为本发明实施例的多级监控示意图;
[0047]图4为本发明实施例的监控服务器处理流程示意图;
[0048]图5为本发明实施例的平台监控信息图;
[0049]图6为本发明实施例的Zookeeper维护数据结构示意图;
[0050]图7为本发明实施例的配置管理过程示意图;
[0051 ]图8为本发明实施例的集群管理过程示意图;
[0052]图9为本发明实施例的资源池原理示意图。
【具体实施方式】
[0053]下面结合实施例对发明作进一步的详细说明。
[0054]实施例1:
[0055]本例的发明一种面向多级调度分布式并行计算的监控系统及监控方法,所述系统包括:本地集群监控模块和多级共享集群监控模块;
[0056]本地集群监控模块包括集群调度节点、可配置模块和监控处理模块;
[0057]本地集群监控
[0058]1、集群调度节点每隔一段时间(可在配置文件中配置)将本集群的资源信息,包括每台服务器节点类型(分为调度节点、数据节点、计算节点等)、主机名称、CPU核总数、磁盘总量、内存总量、主机IP、已用CPU核数、磁盘使用量、内存使用量、正在计算的工程ID号(为O表示没有任务)、正在计算的任务ID号(为O表示当前节点空闲)、主机信息更新时间,通过消息的形式发送到连接该集群的监控客户端,供客户端统计和展示,用户通过使用这些信息来实现资源的均衡分配,业务预测,和实时调度决策。
[0059]2、集群调度节点通过可配置模块(和任务调度模块区分)可接受来自监控客户端的命令并正确响应。本地集群调度节点判断控制命令中的消息类型并将控制消息发送至监控处理模块;监控处理模块根据控制消息对本地集群节点进行处理,并将处理结果发送至本地集群调度节点,本地集群调度节点通过监控响应模块对控制命令进行响应;
[0060]3、监控处理模块根据命令协议可实现多个功能,包括删除一个或多个计算节点特定目录功能、生成节点信息(dmesg、ps_edf、ls)并打包上传给监控客户端、实现查询某个或多个计算节点进程详细信息、实现结束一个或多个计算节点一个或多个特定进程功能、实现启动一个或多个计算节点一个或多个特定进程功能。[0061 ]监控方法的本地集群监控处理过程如图1所示:
[0062]本地集群监控:定时将本集群的资源信息发送到连接该集群的监控客户端,供客户端统计和展示;将监控客户端的控制命令发送至本地集群调度节点,本地集群调度节点判断控制命令中的消息类型并将控制消息发送至监控处理模块;监控处理模块根据控制消息对本地集群节点进行处理,并将处理结果发送至本地集群调度节点,本地集群调度节点通过监控响应模块对控制命令进行响应。
[0063]多级共享集群监控模块包括分布式的群集调度节点、多级共享集群资源池和管理客户端;如图3所示:
[0064]1、每个分布式集群调度节点每隔一定时间(可在配置文件中配置)将本集群计算节点数量、集群总核数、集群已用核数、集群可用核数、集群可用磁盘空间、集群级别、集群区域地名信息、集群上级区域名称、支持的计算类型个数及列表、是否同意共享调度、本集群用于外部连接的IP地址等信息发送给本地集群网关节点监控应用程序,再由监控应用程序将本集群的这些信息写入由Zookeeper框架组成的集群资源池树状结构中,便于集中管理。
[0065]2、连接到由Zookeeper组成的任一集群网关节点服务器的管理客户端,都可以清晰的查看资源池中已注册的多个集群信息,比如集群规模、是否空闲、级别、区域名、可计算的类型、可用核数等信息,并可以控制和调整某个集群的相应属性,而且不会因为某个Zookeeper节点失效导致连接到该失效节点的管理客户端获取信息失败,因为当节点失效时Zookeeper在底层自动将该管理客户端与其他有效网关节点建立起了可靠的连接。通过这些信息,用户可以实时、准确的了解整个系统的资源分布和应用运行情况,提高了系统的监控效率和为按需服务提供资源管理属性和状态支持。
[0066]监控方法的多级共享集群监控处理过程如图2所示:
[0067]多级共享集群监控:将本地集群信息发送至本地集群网关节点监控应用模块;通过本地集群网关节点监控应用模块将本地集群信息写入多级共享集群资源池中,集中管理;查看资源池中已注册的多个本地集群信息并控制和调整其中一个集群的相应属性。
[0068]监控服务器
[0069]监控服务器的总体框架采用了glib的消息触发机制。glib库是Iinux平台下一个常用的c语言函数库,它具有很好的可移植性和实用性。glib是gtk+库和gnome的基础。glib的各种实用程序具有一致的接口。glib为许多标准的、常用的C语言结构提供了相应的替代物。它的编码风格是半面向对象,标识符加了一个前缀“g”,这也是一种通行的命名约定。这里主要介绍glib库的消息机制。
[0070]从总体上看是一个大的循环,当某个特定的事件发生后,触发一个消息,系统会用已经注册的回调函数对该事件进行响应。这个大循环就GMainLoop ,GMainLoop的主要部件是GMainContext ,GMainContext可以在多个GMainLoop间共享,但要求这些GMainLoop都在同一个线程中运行,常见的模态对话框就属于这一类。GMainContext通常由多个GSource组成,GSource是事件源的抽象,任何事件源只要实现GSource规定的接口,都可以挂到GMainContext 中来。
[0071]1、每个集群的调度节点定时上报该集群信息到监控服务器,监控服务器维护每个集群资源信息并采用心跳机制检测集群状态。
[0072]2、整个广域网各分布式并行计算平台调度服务器负责定时收集和上报该平台资源信息到监控服务器,包括计算节点数量、当前可用核数、磁盘
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1