刘伟娜,董 娜
(国网河北省电力公司电力科学研究院,石家庄 050021)
Hadoop 框架在电力大数据平台中的应用
刘伟娜,董 娜
(国网河北省电力公司电力科学研究院,石家庄 050021)
针对大数据框架体系数据存储和计算问题,提出采用Hadoop框架对海量大规模数据进行处理,分析该框架的组成、优势和安全机制,并说明Hadoop框架在电力大数据平台中应用情况及应用效果。
大数据;Hadoop;安全机制;
在电力行业,特别是全面加快全球能源互联网发展的重要时期,在输变电智能化、智能配用电、源网荷协调优化、智能调度控制、信息通信等领域中数据的精细化程度要求越来越高,数据呈爆炸式增长,产生的数据量达到PB级别,且数据类型结构多样。同样金融业、电信运营业、互联网与电子商务等行业随着应用需求的日益旺盛,也面临着数据规模大,增长速度快,数据形式复杂多样的困境。自2000年以来,全球的数据总量呈现指数级增长,预计到2020年,全球电子设备存储的数据将暴增至35.2 ZB。这些海量的数据同时也带来了数据无法存储和无法计算的问题。由此产生了“大数据”概念。
近年来“大数据”被无数次提及,但还未形成统一定义。比较有代表性的说法是指所涉及的资料量规模巨大到无法通过目前主流软件工具,在合理时间内达到撷取、管理、处理、并整理成为帮助企业经营决策更积极目的的信息[1]。大数据应用从商业价值、客户洞察、运营效率和风险防控等方面提升公司的核心竞争力。大数据体系框架总体上包括数据整合、数据存储、数据计算、数据分析、平台服务五个层次。在大数据架构体系中数据如何存储和计算成为关注的焦点,而Hadoop分布式存储和计算框架以低成本、可靠性高、容错强、扩展性高、处理速度快等优势备受青睐。
Hadoop是基于Java为大规模数据存储和计算提供可靠、高效、可伸缩的开源软件框架,可通过集群廉价普通机器完成大量数据的分布式高速计算和存储,允许用户在不了解底层细节的情况下,使用分布式程序。其特点在于能够存储并管理PB级数据,可以很好地处理非结构化数据,擅长大吞吐量的数据处理,应用模式为“一次写多次读”存取模式[2]。Hadoop核心由HDFS(Hadoop Distributed File System)和Map Reduce 2个系统组成。Map Reduce可实现高性能分布式并行数据处理, HDFS提供可靠数据存储服务,低廉MPP、高容错,用户可在不了解分布式底层细节的情况下开发分布式程序,充分利用MPP的能力[3]。
1.1 大数据存储框架HDFS分布式文件系统
HDFS分布式文件系统运行在大规模集群之上,采用元数据集中管理与数据块分散存储相结合模式,默认数据块基本存储单位是64 MB。HDFS的存储对象针对大规模的应用数据,数据吞吐量高且具有容错性[4]。同传统文件系统类似,HDFS同样可以创建文件、删除文件、移动文件和文件的重命名等,其内部结构由一个NameNode和若干DataNode组成。NameNode为命名节点,收集管理存储节点文件元数据,同时保存文件、块、Data N-ode之间的关系,以“edit log”和“namespace image”文件形式存储在本地磁盘。DataNode为数据节点,为HDFS提供存储块。当文件大小超过数据块默认大小64 MB时,文件被切分存储在不同Data Node中,存储在硬盘上。Data Node响应除来自HDFS客户机的请求外,还响应来自Name Node的命令,在NameNode统一调度下,DataNode执行完成文件的读写、复制、删除等操作。
1.2 大数据计算框架Map Reduce
Map Reduce是Google公司于2004年提出的一种编程模式,拥有大规模数据(大于1 TB)的并行运算,其特点是简单易学,使用广泛,能够降低并行编程的困难[5],基于Map Reduce的应用程序可以运行在由普通廉价机器设备组成的大型集群上,以可靠容错并行方式处理TB级及以上数据集。Map Reduce框架实现的是跨节点通信,擅长横向扩充、负载均衡、失效恢复、一致性等功能,非常适合有很多批处理的大规模分布式应用,如日志处理、web索引建立等[2]。
MapReduce框架中数据的处理包括Map和Reduce两个阶段。Map阶段进行数据的分解操作,将原始输入分解成若干个键值对<key,value>,Reduce阶段将分解的数据处理的结果进行合成。Map Reduce包括管理任务Job Tracker和执行任务Task Tracker。Job Tracker是管理者,负责协调和调度所有作业,同时也负责协调调度一个作业所有任务,并监督任务执行情况。Task Tracker是任务执行者,仅负责Job Tracker分配的任务,并报送进度情况。
a.成本低。Hadoop可运行在廉价机器组成的机器上,且为开源软件框架,成本较低。
b.可靠性高、容错性强。数据存储在HDFS中的数据块中,且每个数据块在集群节点中有多个副本,当出现故障数据丢失时,可重新进行分配,达到可靠性高、容错性强的效果。
c.扩展性高。Haoop运行在普通硬件设备集群上,这些硬件被软件松散耦合在一起,扩充就是简单增加机架,并配置系统,使新增的硬件重新均衡系统。Hadoop框架在集群服务的情况下,可扩展若干个节点。
d.处理速度快。Hadoop自动化并行处理,数据分布在并行节点上,并且Hadoop能够在节点间动态移动数据,保证节点动态平衡,加快了处理速度。
进入大数据时代,安全问题变得尤为重要,但Hadoop在最初设计时并没有过多的关注其安全机制:
NameNode缺乏安全认证机制,Client的用户名和用户组名均可通过自身指定;Job Tracker缺乏安全授权机制,Client可以修改Job Tracker的持久化状态,修改或者删除任意其他Client的Job;DataNode缺乏安全授权机制,Client通过已知block ID,可绕过NameNode从DataNode上读取相应的block,并且Client可以向任意DataNode上写block。
随着Hadoop应用越来越广泛,其安全问题也得到相应改变。在HDFS和Map Reduce引擎安全防护方面添加ACL控制访问机制;出现了安全认证和授权机制,如Simple和Kerberos。Kerberos是一种网络认证协议,采用传统密码技术进行认证,较为常用。是将认证的密钥放在某一节点上,其他节点在运行时必须进行认证,否则不能正常运行,避免了恶意节点与其他节点的非法通信,有效提升了Hadoop的安全性。
4.1 Hadoop框架构建
国家电网公司(简称“国网公司”)用户数量、资产规模巨大,并且电网生产运行对数据的响应速度要求快,故障情况下还会出现短时多类型数据激增的现象,这些特征都符合大数据数据规模大(Volume)、数据实时性高(Velocity)、数据类型多样(Variety)、价值密度低(Value)等特点。综合大数据能提高公司内部业务处理效率,降低运营成本,为客户提供更具个性化的服务,对公司风险及时预警等优势,国网公司基于分布式架构,融合结构化、非结构化、海量历史/准实时、电网地理信息等数据中心,整合、优化公司现有技术组件,构建大数据平台。大数据平台功能架构如图1所示。
图1 大数据平台功能架构
在大数据平台功能架构由数据整合、数据存储、数据计算、数据分析和平台服务五部分组成。平台采用Hadoop框架,规范化的提供数据存储和数据计算能力,HDFS组件实现数据存储中的分布式文件存储,存储采集到的文本、文档、音/视频、图片等非结构化数据。Map Reduce实现数据计算中的批量计算,支持大批量数据的离线分析,装载HDFS中存储的非结构化信息进行分布式计算,将中间结果缓存在磁盘,计算规模相对较大,计算周期长,算法复杂。
4.2 Hadoop框架安装
4.2.1 安装前准备工作
安装Hadoop框架前,首先进行准备工作。准备工作包括:大数据平台安装;配置SSH,在任一台服务器上生成证书,复制到其他节点上;配置知识库,在任一台服务设置IP地址,并启动Http服务;配置yum资源,将gp.repo文件中IP地址修改为知识库服务器地址,上传至任一服务器,并复制到所有服务器中;安装ansible,在部署大数据平台应用服务器中安装ansible;在数据库服务器中安装PostgreSQL。
4.2.2 安装Hadoop集群
a.新建集群。登录大数据平台,点击“集群管理”-“安装部署”,按步骤要求进行集群管理的安装部署。安装过程中需注意组件服务器地址为yum资源中配置的IP地址,如图2所示,该资料库服务器中具有hadoop安装包,安装过程中会从该服务器下载安装包。批量添加主机节点时,除“存储节点”和“计算节点”可对应多台服务器外,其他节点均只能对应一台服务器。
图2 hadoop集群配置
b.增加节点。大数据平台增加节点时,只可以增加计算存储节点。登陆大数据平台,点击“添加节点”。填写IP地址、主机名称、分配角色,如图3所示,确认信息后进行安装并初始化环境,并自动转入集群安装,等待安装完成即可。
图3 增加节点
4.3 平台应用场景
基于Hadoop框架的大数据平台,已初步建成,功能逐渐完善。基于平台建设的业务场景已在电网生产、经营管理和优质服务三个领域开展应用实践,以提升公司管理水平和服务水平,促进业务需求创新,探索构建新的业务模式、营销模式和服务模式。
检修策略方面。结合数据挖掘技术,建立设备状态综合评价模型,对在线监控数据实时分析,自动识别输变电设备故障缺陷,并与设备台帐、运行状态、检修记录等数据进行关联分析,找出故障成因。实现设备状态风险评估和故障预判,优化检修策略[6]。
基于温度变化客户用电行为分析方面。天气变化常常会给电网运行带来较为严重的不利影响,引起输变电设备故障,进而影响用户用电行为。构建负荷预测及大客户用电细分模型,基于用户、用电、设备、变电站等信息数据,结合自然因素气象数据,对气温对客户用电行为的影响进行分析,为城市和电网规划、需求侧管理、电价政策等提供支持。
新型客户服务业务型态方面。建立话务量预测及用户感知度模型,基于话务量、工单信息、故障信息等数据,实现实时话务展现预测及用户感知度展现,从而提高客户服务中心服务能力和服务质量,构建和谐的客户关系。
基于Hadoop的电力大数据平台应用场景会逐渐增多,在人力资源、财务管理、物资管理等方面进行应用。同时Hadoop在互联网领域也得到了广泛运用,Yahoo使用4 000个节点的Hadoop集群来支持广告系统和Web搜索的研究;Facebook使用1 000个节点的集群运行Hadoop,存储日志数据,支持其上的数据分析和机器学习;百度用Hadoop处理每周200 TB的数据,从而进行搜索日志分析和网页数据挖掘工作等[7]。随着大数据的不断发展,Hadoop框架将会越来越受到关注,在发挥其现有功能的同时,需要不断改进,以确保框架的安全性,进而提升数据的安全性,使其在大数据的应用中发挥更大的功效。
[1] 徐欣欣.大数据时代高校信息系统建设的探讨[J].信息与电脑:理论版,2013(4):120-121.
[2] 赵 刚.大数据应用的总体架构和关键技术[M].北京:北京电子工业出版社,2014.
[3] 李战怀,王国仁,周傲英.从数据库视角解读大数据的研究进展与趋势[J].计算机工程与科学,2013,35(10):1-11.
[4] 杨 静,殷建琳.Hadoop云存储技术在电子档案长期保存中的应用研究[J].档案与建设,2015(12):22-25.
[5] 卢 宁,陈 泽,董 娜.云计算模型Map Reduce的实现与安全研究概述[J].大众用电,2015(276):111-114.
[6] 岳 阳,张晓佳,高一丹.基于Hadoop的电力大数据技术体系研究[J].电力与能源,2015(1):16-20.
[7] 梁明煌,吴 航.Hadoop技术在移动支付行业的应用[J].中国新通信,2016(1):79-81.
本文责任编辑:赵轶美
Application of Hadoop Framework in Big Data
Liu Weina,Dong Na
(State Grid Hebei Electric Power Research Institute,Shijiazhuang 050021,China)
For data storage and computation of big data framework system,proposed using the hadoop framework to process massive data,analyzed framework compostion,advantages and security mechanism,and explained application and application effect of hadoop framework in the electric power big data platform.
Big Data;Hadoop;Security Mechanism
TM769
A
10019898(2017)02003504
20170207
刘伟娜(1986-),女,工程师,主要从事电力信息化工作。