APP下载

基于Hadoop的电力运维审计系统的设计

2020-02-08苏林萍崔文超张晓良

计算机与现代化 2020年1期
关键词:主从分布式运维

苏林萍,安 然,李 为,崔文超,张晓良

(华北电力大学控制与计算机工程学院,北京 102206)

0 引 言

随着计算机网络的飞速发展,国家电网公司对运维过程信息化的需求日益增大,运维审计系统拥有越来越重要的地位。但由于目前单机运维审计系统与其他业务系统的交互不断增加从而产生了海量数据,面临的风险也越来越高[1]。面对系统所产生的海量数据造成系统性能下降,存储在单个服务器上显然不能满足需求,分布式存储方式则能解决数据存储分析困难的问题。若服务器的某个硬件或者软件发生故障时,运维审计系统将可能出现服务中断、系统瘫痪等现象,对电网造成一定的损失,因此可靠性和稳定性的提升是运维审计系统亟需解决的难题。基于Hadoop的处理方法可以对数据进行分布式管理,将负载分散到若干个工作节点上,从而提升系统整体性能。Heartbeat心跳检测技术可以有效地避免单一管理节点崩溃所带来的一系列问题,从而保障电网运维审计系统安全可靠地运行。

1 可行性分析

运维审计系统数据的特点是数据规模大、数据类型复杂,且数据是由分布在不同区域的设备上产生的,需要进行分布式管理。Hadoop是一个开源架构,具有数据处理量大、可靠性高等优势,适用于运维审计系统[2]。造成系统故障的原因主要有3种:首先是软件运行故障,其次是硬件运行故障,最后是网络环境或机房环境所引发的故障。由于在管理节点主从切换前后状态下,软件运行故障和硬件运行故障没有关联,为了有效地避免这2种故障的发生,采用Heartbeat心跳检测技术是完全可行的。网络环境或机房环境所引发的故障在管理节点主从切换前后是具有一定相关性的,因此需要通过定量分析来证明Heartbeat心跳检测技术对此故障能否有效地解决。

2 系统设计

本运维审计系统的架构为B/S模式,图1为系统的架构示意图。系统主要设有2个管理节点和3个工作节点,管理节点通过Hadoop实现对3个工作节点的分布式管理,并采用Heartbeat心跳检测技术来进行服务监测,主服务器通过发送实时的心跳包向从服务器报告工作状态,同时也会监听从服务器的心跳,判断其是否出现异常[4]。用户通过虚拟IP网址来对系统进行访问,正常情况下运维审计系统管理节点服务是由主服务器提供的,从服务器处于备用状态,若主服务器出现异常状况,则进行主从切换,从服务器变为工作状态[5],以此来保证系统的稳定性和可靠性。

此系统中,Hadoop用来实现管理节点对工作节点的分布式数据管理;Heartbeat用来提供心跳检测机制、托管相关服务程序和提供虚拟IP;Tomcat用来提供Web服务;MySQL用来作为数据库管理系统。同时,系统使用一个监控脚本对管理节点主服务器上的Tomcat和Proxy(运维审计系统主要程序)服务进行实时监听,判断其是否正常工作,若出现故障,及时进行故障转移。

图1 运维审计系统架构示意图

其中,Hadoop为数据的分布式存储提供支持,系统产生的数据将会被分为若干个小的数据块存储于每一个工作节点上,而管理节点将对这些工作节点进行统一管理。在系统对数据进行分析时,Hadoop会用Map任务和Reduce任务进行更细致的拆分,其启动、跟踪和调度的过程是由工作节点上的JobTracker来执行的[6]。Mapper部分负责把海量复杂的数据拆分成若干个任务来执行。Reducer部分负责把Mapper部分得到的结果进行归纳汇总整理[7]。

为了满足运维审计系统Heartbeat心跳检测的需要,Heartbeat需要具有以下4个功能:1)状态检测功能,用于监听主从服务器节点的工作状态;2)内部通信功能,用于规定主从服务器节点的通信规则;3)共同管理功能,用于管理主从服务器节点资源的关系;4)失效切换功能,用于实现主从服务器节点的主从切换[8]。

3 系统实现

系统实现过程按照自顶向下的思路,如图1所示。为了避免管理节点单台服务器出现故障造成无法访问的情况,需要对用户提供一个可访问的虚拟IP地址,这个地址是由Heartbeat实现的。

图2 系统模块关系示意图

如图2所示,管理节点主从服务器用Heartbeat提供一个虚拟IP,正常情况下,主服务器上绑定该虚拟IP并向外提供服务。数据库通过drbd来实现2台服务器之间的数据同步,主服务器(Master)数据通过网络数据链路实时同步到从服务器上(Slave)[9]。Tomcat和Proxy服务通过监控脚本进行实时监控,若出现故障则由Heartbeat进行主从切换,保证服务不中断,系统长期稳定运行。

3.1 分布式数据存储分析的实现

在对开源Hadoop分布式文件系统(HDFS)进行测试的基础上,传统的存储架构不足以满足系统对数据的高效存储分析需求,因此对其架构进行了改进。数据存储模块由存储端、查询端和访问链路这3个部分组成。运维审计系统实时产生的海量数据由存储端完成,查询端提供的是海量数据的查询检索功能。图3为运维审计系统设计的海量数据存储结构与数据访问关系。

图3 系统数据存储结构与数据访问关系图

3.2 心跳检测与服务切换的实现

管理节点主从服务器安装完Heartbeat后,需要配置相关配置文件。首先需要配置ha.cf文件,配置的内容如表1所示。

表1 ha.cf文件配置内容

配置内容说明keepalive 2配置主从服务器的心跳频率,2表示2 sdeadtime 15节点死亡时间,即当超过15 s后从服务器未接收到主服务器心跳信息时,进行主从切换操作ucast eth1用于指定心跳网卡,采用udp单播来通知心跳信息,eth1表示通过该网口进行心跳的检测auto_failback off当主从切换后,主服务器复原是否进行自动切回操作,off表示否node server_master主服务器名称,与uname -n显示必须一致,即server_master

Heartbeat有crc、md5和sha1这3种认证方式[10],安全级别逐渐增高,对系统资源的使用也越来越多。authkeys文件对Heartbeat进行相应的授权,由于运维审计系统大多运行在公司内网中,主从服务器之间大多采用网线直连,安全性相对较高,因此采用的认证方式为crc。

另外,还需要对Heartbeat接管的资源进行配置,文件为haresources,配置的内容如表2所示。

表2 haresources文件配置内容

配置内容说明server_master主服务器名称,与uname -n显示必须一致,即server_master10.0.0.1虚拟IP,对外提供访问网址drbddisk::r0drbd挂载磁盘节点名,即r0tomcat proxy托管Tomcat和Proxy服务,由Heartbeat负责进行开启和关闭

4 异常情况处理

基于Hadoop的分布式数据存储和Heartbeat心跳检测的运维审计系统的工作情况主要分为以下3种:1)正常工作状态;2)管理节点主服务器发生异常,从服务器对外提供服务;3)管理节点主服务器异常恢复后变为从服务器[11]。

下面将针对不同情况分别进行描述。

1)正常工作状态。

正常工作情况下,管理节点主服务器处于工作状态,从服务器处于待机状态。虚拟IP绑定在主服务器上来提供对外访问地址,通过主从服务器的心跳监听判断是否进行故障转移。Tomcat和Proxy服务通过监控脚本进行实时监控,若出现故障则由Heartbeat进行主从切换,如图4所示。

图4 监控脚本工作流程图

2)管理节点主服务器发生异常,从服务器对外提供服务。

若主服务器出现软件或者硬件故障无法提供服务,导致2台服务器无法监听到对方的心跳包,此时从服务器对虚拟IP进行绑定,并启动相关服务程序(Tomcat、Proxy)来提供对外服务。Web服务此时由从服务器上的Tomcat来提供。同时,监控相关服务程序的脚本也会在从服务器上启动,对服务进行实时检测,保证系统稳定运行。

3)管理节点主服务器异常恢复后变为从服务器。

主服务器异常恢复之后自动启动Heartbeat,把心跳信号发送给从服务器,此时主服务器就变成了从服务器,正在提供服务的从服务器变为主服务器,二者角色互换。数据依然通过网络数据链路同步到共享存储空间,保证运维审计系统数据的完整性。

5 可用性与性能测试

运维审计系统是否可用,主要是通过可靠性和可维护性这2个指标来分析。在实际工程中,通常使用平均无故障工作时间(MTTF)来度量运维审计系统的可靠性,使用平均修复时间(MTTR)来度量系统的可维护性,其中MTTF+MTTR被称为平均失效时间(MTBF)[12]。

所以,运维审计系统可用性的计算公式为:

实际测试结果如表3所示。

表3 单机和Hadoop集群的比较

系统MTTF/hMTTR/h可用性As/%单机5224891.579Hadoop集群19861/6099.999

从表3可以看出,基于Hadoop的分布式数据存储和Heartbeat心跳检测的运维审计系统故障率大大降低,系统的可用性提高了8.42%。

为了表明Hadoop集群系统相比单机系统能够提高系统的数据处理能力,本文在不同的并发用户数量下,测试Hadoop集群系统和单机系统的性能情况,实验结果如图5所示。

图5 Hadoop集群和单机系统不同用户数下的数据处理性能

根据以上实验发现,单机系统在并发用户数量大的情况下,数据的处理性能会有明显的下降;而Hadoop集群在并发用户数量大的情况下受到的影响较小,依然能保持高效的数据处理性能。

由此表明Hadoop集群系统能够减小在并发用户数增大过程中造成的系统性能的损失,同时提高系统可用性。

6 结束语

本运维审计系统通过Hadoop实现了海量数据的分布式存储与分析,使用Heartbeat软件实现了2个管理节点之间的心跳检测。本文设计的系统满足国家电网公司对运维审计系统稳定性的需求,能够在不影响系统性能的情况下处理大量数据,确保系统高效、稳定以及可靠地运行,提供良好的用户体验。

猜你喜欢

主从分布式运维
运维技术研发决策中ITSS运维成熟度模型应用初探
风电运维困局
FANUC系统PROFIBUS主从功能应用
分布式光伏热钱汹涌
杂乱无章的光伏运维 百亿市场如何成长
分布式光伏:爆发还是徘徊
配电线路的运维管理探讨
基于飞行试验数据的仿真模型主从一体化检验
基于DDS的分布式三维协同仿真研究
呼叫中心提示时间与顾客耐心的主从博弈模型