某广电单位大数据平台架构设计

来源 :科技资讯 | 被引量 : 0次 | 上传用户:qiyueliuhua
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:某局的大数据平台架构设计中,共有12个组件。计算框架采用Lambda架构,同时管理实时计算框架和离线计算框架,数据经过数据采集服务初步验证过滤,记录到消息队列Kafka中,之后,同时进入到Hadoop和storm中分别用于离线和实时计算。
  关键词:大数据平台 离线计算 Hadoop 实时计算 Storm Kafka Mongodb
  中图分类号:TP27 文献标识码:A 文章编号:1672-3791(2016)03(a)-0006-03
  某局期望实现设备运行数据、业务管理数据和各业务系统数据的规范传送、标准化整理和存储,建立全局统一的数据关系明确的主题数据库或数据仓库,为全局各应用系统提供规范的数据交换服务以及对基础数据的管理。主要任务是:建立全局数据中心,基于大数据云平台和两级数据交换中心,实现各级业务系统基础数据的统一规范化管理;初步实现全局设备及其状态以及运行质量、趋势、故障等的可视化分析建模及展示。该文主要阐述平台的架构设计。
  1 大数据平台架构
  BDM(Big Data Management,大数据管理平台)整体架构由下向上,从底层硬件逐步构建。
  (1)硬件设施层:提供最基础的硬件系统。
  (2)虚拟化层:在硬件设施层之上,将硬件资源虚拟化,将服务器集群资源统筹管理。
  (3)数据存储层:完成海量数据的分布式存储。提供数据备份和容灾,采用Hadoop框架的HDFS分布式存储引擎、分布式消息队列Kafka、分布式文档型内存数据库和关系型数据库。
  (4)数据服务层:包括,数据装载读写、数据分析处理编程框架和数据查询等。数据处理工具完成服务层与数据存储层间的数据交互,提供友好的数据操作界面。
  (5)数据接口层:对外提供操作的相关接口。
  2 BDM组件关系
  图1为该局BDM的整体架构,采用SOA(Service-Oriented Architecture)架构,其将具体功能以服务的形式部署在服务器集群上,每个服务以分布式方式部署,提供单独的高可用的服务,平台中的各系统都可以任意访问服务。BDM平台支持结构化数据(数据库表、结构化文本)、半结构化数据和非结构化数据。
  数据经由Kafka写入到Hadoop HDFS,永久存储,进行离线计算;经由Kafka到达Storm流计算平台,进行实时计算和处理。
  2.1 Nginx
  Nginx是一个高性能的HTTP和反向代理服务器,是BDM中统一的HTTP请求的转发入口,需两台服务器集群互为备份和负载均衡。它接收用户的HTTP接口调用浏览器访问,将请求转发到OMCenter网页、BDMS网页、数据查询、REST接口和数据探头等。
  2.2 分布式集群协作管理Zookeeper
  Zookeeper是集群协作管理中心,提供集群协调功能,保存集群运行状态和配置信息并同步到集群各个系统,组件包括:数据采集服务、Storm、 Hadoop和Kafka等。Zookeeper作为集群的配置中心,在多台zookeeper服务器之间,保证数据强一致性,实现了Paxos算法,完成数据在节点之间存储一致的状态,在部署zookeeper集群的时候,一般使用3台集群或5台集群。 Zookeeper在部署完成后即拥有高容错功能,一个zookeeper节点故障,并不影响整体集群的服务功能,这个节点重启就可以恢复数据,并恢复正常状态。集群协作管理的方式有如下几种。
  (1)在zookeeper中保存集群中每个服务器地址及其提供的对应服务。
  (2)客户端从zookeeper中获取集群中提供服务的具体实例地址和具体服务通信。
  (3)集群状态发生变化时,更新zookeeper内容,即时通知客户端。
  (4) zookeeper保存并分析服务的运行状态,发送监控信息和报警信息。
  2.3 Kafka
  Kafka集群有三种角色(如图2):Producer是数据的发布者,向消息队列推送数据;Consumer是数据的订阅者,从消息队列订阅数据并消费;Broker是消息队列实体和集群中的Server。Kafka指定各个分区到对应的读取进程,因此保证每个进程读取数据的顺序性和负载均衡。
  Kafka消息读取的方式如图2。它可以同时处理多个逻辑队列,每个队列用一个Topic名称进行唯一标识,即一个Topic确定一个逻辑队列。每个逻辑队列分成多个分区(Partition),图中为Kafka Cluster的P0~P2,每个分区分散存储于服务器上,数据写入kafka时,轮询写入每个分区。数据的消费者,分多组(Consumer Group)同时读取数据,每组都可读取到队列中完整的数据,两组之间不会相互影响。
  2.4 Kafka ICE服务
  ICE(Internet Communications Engine),是一个分布式计算框架和RPC框架,方便各服务读写kafka数据。ICE Grid服务端包含Registry,Registry Replica,Node和服务:
  (1)Registry:ICE Grid的服务注册中心、配置中心,其中保存了所有节点状态、服务状态、服务地址和端口及服务RPC API的元数据等。
  (2)Registry Replica是Registry的热备服务。
  (3)Node:ICE Grid通过Node服务管理节点上运行的服务的启停,一个服务可注册在一个或多个节点运行,服务进程通过Node进程创建。
  (4)服务:通过ICE Grid框架定义。在BDM中,数据探头和Kafka ICE都是通过ICE实现的。一个节点可启动多个服务进程,每个服务进程可以配置成多线程方式。   (5)客户端:客户端通过服务定义的slice文件,通过RPC的方式和服务端通信,完成API调用。Registry根据一定的规则,将服务地址分配给客户端,分配策略有轮询、随机和根据负载分配的方式。
  2.5 数据探头
  数据探头服务采集和接收推送数据,并发送到Kafka,数据经过Nginx,uwsgi,Input ICE,Kafka ICE到达Kafka。Input ICE服务提供了动态API配置的功能。
  2.6 Mysql
  Mysql作为BDMS的后台数据库,也作为基础数据管理和关系型数据库部分数据的存储。 BDM中Mysql集群,使用主备方式部署(Master-Slave),备机提供数据的只读服务,主机提供数据的读写服务。
  2.7 Storm
  Storm是BDM中的实时处理平台,完成实时统计、计算和数据处理等。Storm集群分为主控节点Nimbus和工作节点Supervisor,Nimbus负责任务的总控,管理所有工作节点的状态;Supervisor负责接受并执行任务。
  Storm会保证数据在计算任务中都被处理过一次(至少一次),如果处理发生异常,这条数据会被重新发送,保证每条数据都会被正确处理。Storm在记录消息处理情况的时候,只有数据完全经过所有节点的时候,数据才会被认为正常处理完成。该项目中,可使用Storm完成实时指标计算,如,全局设备实时运行时长统计、设备实时状态分析等。
  2.8 分布式文档型数据库Mongodb
  Mongodb是文档对象数据库,是一种NoSQL数据库,每一条数据是一个“文档”,一个文档是一个json格式的数据,由于json格式数据的特点,Mongodb没有关系型数据库的外键和关联等概念,对于有嵌套关系的数据,可以直接存储到一条记录中。Mongodb支持集群部署方式和自动故障恢复。Mongodb高可用部署方式为Replica Set(副本集),其中Primary为主节点,数据的读写操作都在Primary上执行,两个Secondary服务器从Primary同步数据并作为热备,这3个节点之间通过心跳信号通信,确认彼此服务处于存活状态。
  当Primary出现故障时,主的心跳信号丢失,此时,两个Secondary节点中的一个节点作为Primary,客户端和新的Primary节点进行操作。故障节点恢复后,重新加入集群,并作为新的备节点,开始数据同步。
  在BDM中,Storm从Kafka读取实时采集的数据,完成计算后,将计算结果输出到Mongodb存储,使用方读取Mongodb结果获取实时计算报表。
  2.9 BDMS大数据建模平台
  BDMS大数据建模平台是基于Hadoop、Hive、sqoop等hadoop生态系统中的工具整合开发的可视化大数据离线计算、数据分析和建模平台。基础的Hadoop平台提供HDFS分布式数据存储和MapReduce计算框架,使得大量数据的分布式计算成为可能。存储文件分成多个Block(块),默认大小是64M。通过块的Replica的方式,保证数据可靠性,读取速度和吞吐量。一般每个块至少分布到3个DataNode节点上。如图3,NameNode负责维护集群的元数据,DataNode用来存放数据块,每个数据块都有3个备份,分散存储于各个DataNode上,任意一个DataNode故障,数据块的副本不会丢失;同时,为防止NameNode单点故障,引入了Secondary NameNode的备份节点。Hadoop HDFS上的数据读写,始终都采用就近原则,优先使用本地的数据块,以提升数据读取的速度。
  Hadoop平台为BDMS提供基础的数据存储和计算框架,单纯MapReduce框架应用复杂,因此Hive平台提供了结构化数据的管理和查询功能。Hive使用类SQL语言,完成对Hadoop上存储的数据进行查询。Hive将SQL语言解析成为MapReduce任务在Hadoop平台上执行,更适合于海量数据的SQL查询。BDMS还提供了Hadoop平台上的其它功能,如,SparkMLL机器学习库,sqoop数据装载工具等,为数据的采集、清洗、格式化、查询、建模、计算、分析、报表产出等一系列流程提供可视化工作界面。
  2.10 集群监控中心ganglia
  Ganglia是BDM的服务器集群监控中心,它收集每个节点的服务器运行状态和服务运行状态,完成运行状态的实时监控图标绘制,图标的数据保存为rrd格式,可在使用较小磁盘容量的情况下,记录多年的历史数据。
  3 结语
  除了上述的各个组件,大数据平台还配备报警中心和运维管理中心,报警中心完成对BDM中关键服务组件运行状态的监控报警和对数据处理任务的监控报警;运维中心OMCenter为BDM提供一站式私有云管理软件、集成设备管理、服务管理、监控、实时报表和配置中心等。目前,BDM已经运行了一年左右,体现了其应有的作用。
  参考文献
  [1] 张戈.浅谈广电网络的信息化建设[J].科技致富向导,2014(26):80,172.
  [2] 任磊,杜一,马帅,等.大数据可视分析综述[J].软件学报,2014(9):1909-1936.
其他文献
1998年6月8日,由铁道部和包头钢铁(集团)有限责任公司共同组织的包钢铌稀土轨推广应用座谈会在包头召开。来自中国铁路物资总公司、铁道科学研究院、铁道部科技司、工务局及
摘 要:在网络技术日益提高的背景下,智能光网技术应运而生,并取得了理想应用效果,如进一步提高了网络资源的利用率。为推动智能光网技术的进一步发展,本文针对智能光网的关键技术进行研究,首先概述了智能光网的概念及优点,然后重点讨论了智能光网的关键技术,主要包括路由选择和波长分配技术、传送技术、控制平面技术等。  关键词:智能光网;关键技术;研究  1 智能光网概述  1.1 概念  所谓智能光网(ASO
幼儿园一日活动的各个环节都是幼儿学习的的内容,主要是培养幼儿对事物的兴趣、习惯、还有良好的性格,在此同时幼儿之间的交往、礼貌,还有互动玩耍时的安全问题也尤为重要.
目的:探讨倍美力软膏治疗绝经后妇女萎缩性阴道炎的疗效。方法:周期性阴道 放置倍美力软膏1g治疗绝经后萎缩性阴道炎,并于用药后第1天,第21天,第49天检测症状,体征及实验室指标。结果:经阴
在学习《爱国主义教育实施纲要》座谈会上的发言中国伊协会长萨利哈·安士伟在新的历史条件下,中共中央印发《爱国王文教育实施纲要》,具有十方重要的现实意义和深远的历史
近年来,由阳光中紫外线辐射引发的皮肤癌引起了广泛的关注。因此,寻找有效的紫外线吸收剂引起了极大兴趣。这一应用有几个方面值得关注。首先,有市场需求,即防晒霜不应使涂抹
期刊
文章对于目前有关中职学校计算机常识课程的教学进行了研讨,主要探究的问题就是在网络环境下,为了能够使中职计算机根本教学效益提升,需要将教学方式、教学手段、策略和对于教师
经过近两年的审核和考察,由清华大学材料系崔福斋教授课题组研究的纳米专利批准通知,为拓展海外市场奠定了基础。据介绍,纳米人工骨2002年11月获得我国国家药品监督管理局用于临
“第五位正统哈里发”──欧麦尔·本·阿卜杜勒·阿齐兹张志华伊斯兰历史上只有四位正统哈里发,他们是艾布·伯克尔(632-634在位)、欧麦尔(634-644在位)、奥斯曼(644-656在位)、阿里(656-661在位
为了能对电子信息装备使用维修性做出客观评价,本文利用模糊数学方法,建立了电子信息装备使用维修性模糊综合评判模型,对影响电子信息装备使用维修性诸因素进行综合分析,同时给出