浅谈视频大数据运维管理系统的设计

2018-03-20 02:19自贡市公安局张亮陈小松
中国安全防范技术与应用 2018年1期
关键词:部件集群运维

■文/自贡市公安局 张亮 陈小松

1 引言

随着视频监控系统的不断建设,监控数据量呈现指数级的爆炸式增加,特别是随着基于深度学习的视频智能分析技术的快速发展,有关车辆、人脸/人像等的结构化描述信息呈现指数级的爆炸式增加。同时,视频大数据具有有别于互联网大数据的特点,如视频大数据的海量循环覆写、模糊查询、百级甚至千亿级记录查询的近实时时延要求等。关系型数据库已经远远不能满足监控系统大容量、高效快速的业务需求,近年来发展起来的大数据技术的出现为解决这个问题提供了可能,成为替代现有产品的不二选择。

目前,大数据领域相关产品大多都是开源的,也有越来越多优秀的大数据相关产品不断的开源出来。在使用开源的大数据产品时,对于产品的使用管理和维护优化也可能存在一系列问题。在大数据平台使用过程中,对于数据的管理,要么是专业人员以命令行的方式进行管理,要么是管理功能分散存在各个部件之中不能统一,并没有一个专门的对大数据平台上的数据进行管理的软件或平台。大数据平台产品的使用人员想要了解或者管理平台之上存储的数据,只能求助于专业人员,这无疑对公安机关公共安全视频监控系统的运维造成诸多不便和隐患。

同时,对于没有接触过大数据技术的人员,不论是研发人员还是运维管理人员,想要熟练的使用大数据方面的类数据库产品,都存在一定的技术门槛。这就需要对相关人员进行专门的培训,甚至需要多次的业务培训。这些人员对于关系型数据库Oracle、Mysql等可能非常熟悉,可以熟练的通过关系型数据库的各种客户端或者命令,对数据库进行各种操作,查看数据库中的表结构及表中的各种数据,执行各种sql语句等。

因此,通过对视频安防监控领域需要的大数据技术和功能的研究,建设统一大数据管理平台,有效整合各类信息资源,通过可视化、图形化方式对大数据平台资源进行管理,填补大数据方面数据管理平台缺失的空白,是亟需解决的问题。针对视频监控的视频大数据运维管理平台对公安一线运维管理人员来说是十分必要的。

2 视频大数据平台技术路线分析

目前行业内,使用开源的Hadoop平台主要为HDP、CDH两种,HDP是由Hortonworks公司发行的Hadoop版本,CDH是由Cloudera公司发行的Hadoop版本。CDH版本基于原生Apache Hadoop版本进行改进,添加了补丁和自行开发的组件,更加稳定易用。CDH通过CM(Cloudera Manager)进行可视化安装,采用parcel包方式安装,便于后期升级维护。由于HBase不支持SQL方式的查询,但是使用HBase提供的API,对开发人员的要求比较高,为了能让HBase支持SQL访问,可以使用HIVE和HBase集群的方式,达到使用JDBC访问HBase的目的。HBase本身不支持二级索引,但使用HBase的Coprocessor技术,选择Observer框架,类似于Oracle的触发器,实现了二级索引。

公安的视频大数据业务应用对于模糊查询的需求比较多,这并不是Hadoop平台的强项,应用ElasticSearch(ES)作为全文搜索的平台,解决模糊查询的问题。ES是一个实时的分布式搜索引擎。ES使用Lucene作为内部引擎,但是在使用它做全文搜索时,只需要使用统一开发好的API即可,而不需要了解其背后复杂的Lucene的运行原理。为了让普通的开发人员都能进行开发,在ES之上封装了支持SQL语句的ESSQL,开发人员只需要通过SQL语句就能访问ES集群。

大数据平台架构如下图所示:

图1 大数据平台架构

其中:

● 分析集群为CDH5.5集群。

● 搜索集群为ES集群。

● 数据汇聚为Kafka和Sparkstreaming协同工作,实现ES和HBase的数据汇聚,部署在CDH5.5集群内。

● ESSQL为专门开发的ES集群的SQL接口,部署在ES集群。

● 数据抽取ETL(“Extract”、“ Transform” 、“Load”的缩写)云采集为Flume和Kettle协同工作,部署在CDH5.5集群内。

● MR(MapReduce)和Spark都部署在CDH5.5集群内。

本文提出的视频大数据运维管理平台是在上述大数据平台架构基础进行设计的。

3 视频大数据运维管理平台主要功能设计

视频大数据运维管理平台主要解决以下问题:

● 可视化的集群状态监控,能明显减轻运维人员运维压力。

● 能实时了解到集群的运行情况,对异常问题及时做出有效的处理。

● 降低运维人员维护集群的技术要求,对集群的增、删、改、查都做到了可视化操作。

● 大集群的维护无需投入更多的人力,通过远程操作的方式就可以维护集群。

视频大数据运维管理平台的主要功能如下图所示:

图2 视频大数据运维管理平台的主要功能

视频大数据运维管理平台主要由反应集群概况的仪表盘、Hadoop集群管理、ES集群管理、应用管理、系统管理等功能模块组成。

3.1 集群概况仪表盘

图3 运维管理系统总体功能

总体功能上:

1)ZooKeeper:通过图标动态显示ZooKeeper集群已用cpu内核信息。

2)HDFS:显示HDFS的数据总量和配置的容量。

3)YARN:通过动态图显示正在运行的应用程序。

4)Oozie:通过动态图显示每个时间运行的作业。

5)Sqoop:通过动态图显示每个时间触发的导入操作。

6)ElasticSearch:当前ES总空间、已用空间、剩余空间、总表数、总记录数。

图4 Hadoop集群管理页面

3.2 Hadoop集群管理

3.2.1 Hadoop集群状态监控

能够在页面上显示当前平台安装的部件,同时显示整个集群的cpu、集群磁盘io、集群网络io和HDFS io。

1)ZooKeeper:已用CPU、运行状况等相关图表信息。

2)YARN:正在运行的应用程序(累计)、失败的应用程序(累计)、已停止的应用程序(累计)等相关图表信息。

3)Hbase:各个Region Servers总区域、读写请求、运行状况等等相关图表信息。

4)HDFS:HDFS容量、已用的cpu内核、各个DataNodes中总写入的字节等相关图表信息。

5)Hive:已用CPU内核、运行状况相关图表信息。

6)Spark:主机CPU、驻留内存等图表信息。

3.2.2 Hadoop集群维护

Hadoop集群启动、停止和增加各个部件节点,对Hadoop的各个部件下的各个节点可以启动、停止和增加节点。具体业务逻辑如下:

1)集群节点增加,各个基本信息验证通过后需要下载必要的安装包,以便安装部件节点使用。

2)部件节点增加时,基本信息验证通过后需要安装对应的包和设置基本配置信息。

3.2.3 平台导入数据量监控

导入数据量通过图表的方式呈现:

通过动态图表分别显示导入到ES和Hbase每个时刻的数据量,不仅可以显示当前导入数据情况而且可以显示过去1小时、3小时、6小时、1天以来的导入数据情况,同时显示通过平台导入数据的总量。

3.2.4 任务管理

对平台中运行的MR任务和Spark任务实时监控,显示当前平台已经运行和正在运行了MR和Spark任务。

3.2.5 Hadoop配置文件

对已安装的各个部件配置进行修改, 各个部件根据各自情况只提供关键信息进行修改,通过键-值对的方式显示,当配置信息过多需分页显示。

图5 ES集群管理页面

3.3 ES集群管理

3.3.1 ES集群维护

在运维系统可以控制ES集群的停止、启动、删除和增加节点。

1)停止、启动和删除直接通过java执行远程shell脚本来控制,删除时需要在ES节点表删除该节点的地址信息。

2)增加新的节点时需要做ES基本配置信息的验证,验证通过该节点才能够加入到ES集群中,同时对加入集群成功的节点需在ES节点表里增加该节点的相关信息。

3.3.2 ES集群监控

对ES集群里每个节点的运行状况都可以监控,具体功能如下:

1)通过图表的方式显示CPU、内存、硬盘、jvm信息。

2)当集群里机器CPU、jvm使用持续超过警戒值需要通过邮件的方式通知给相关人员,每一项的阀值在数据库里进行设置。

图6 ES集群监控页面

3.3.3 ES集群配置

在页面输入框显示每个配置信息对应的数据信息并支持修改,修改后的信息保存成功后直接同步到集群上,修改的配置信息需要重启ES部件才能生效。

3.4 应用管理

3.4.1 应用监控

监控在视频大数据集群中实现的所有应用模块的运行状态。

3.4.2 性能测试

通过选择页面查询条件,测试当前搭建的ES大数据平台的搜索性能。传统测试ES搜索性是直接通过调用ES提供的接口测试,这种方式对于不熟悉ES接口的开发人员编写测试代码不方便,增加编写测试用例难度。

图7 应用监控页面

图8 性能测试页面

3.5 系统管理

3.5.1 用户管理

管理大数据运维平台和数据平台系统中的用户,新建用户时可以给用户赋角色,此时用户就会拥有该角色下的操作权限,还可以对用户的密码、角色进行修改。

3.5.2 角色管理

权限管理显示当前系统中各种用户角色,角色跟系统操作权限进行绑定,某个角色赋予运维平台系统权限时,拥有该角色的用户就可以拥有对应系统权限。角色管理只控制系统级别,根据需要也可以控制到系统下级菜单,实现更精细的权限控制。

3.5.3 日志管理

管理人员可以查看大数据平台已安装的部件的运行日志信息,具体包含以下功能:

1)在系统中选择部件名称就可以看到对应部件下的日志信息。

2)对于系统中出现的error日志,系统会定时将报错信息通过邮件的方式发送给相关人员。

3.5.4 邮件管理

可以对系统的邮件新增、修改、删除操作,这里配置的邮件信息以供系统中发送邮件使用。

4 结语

本系统投入使用近后将大大提高系统的运维效率。通过运维管理平台的监测,实现了更加优化的大数据计算性能,动态调整计算资源,确保重点类型的数据具有足够的处理能力,保障了视频大数据系统的正常稳定,有效地支撑了构建在该基础上的视频图像信息实战应用系统的高效运行。

[1]杨巨龙.大数据技术全解 基础、设计、开发与实践[M].北京:电子工业出版社.2015.

[2]朱洁,罗华霖.大数据架构详解:从数据获取到深度学习[M].北京:电子工业出版社.2016.

[3]王家林.大数据Spark企业级实战[M].北京:电子工业出版社.2015.

猜你喜欢
部件集群运维
加工中心若干典型失效部件缺陷的改进
奥迪e-tron纯电动汽车的高电压部件(下)
海上小型无人机集群的反制装备需求与应对之策研究
运维技术研发决策中ITSS运维成熟度模型应用初探
基于BP与GA对非标部件结构对比研究
风电运维困局
一种无人机集群发射回收装置的控制系统设计
杂乱无章的光伏运维 百亿市场如何成长
Python与Spark集群在收费数据分析中的应用
勤快又呆萌的集群机器人