大数据平台解决方案.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《大数据平台解决方案.doc》由会员分享,可在线阅读,更多相关《大数据平台解决方案.doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品文档,仅供学习与交流,如有侵权请联系网站删除大数据平台技术方案1.大数据平台技术方案41.1技术路线41.2动静态信息交换51.2.1系统概述51.2.2数据采集服务51.2.3数据采集服务配置61.2.4平台认证服务61.2.5动静态数据发布订阅服务61.2.6负载均衡服务71.2.7协议分析转换功能71.2.8动静态数据分发服务71.2.9数据分发服务配置71.2.10数据缓存服务81.2.11数据交换信息日志81.3大数据存储81.3.1数据仓库工具91.3.2大数据在线存储91.3.3大数据离线存储111.4数据清洗转换131.4.1流数据处理框架131.4.2分布式ETL工具13
2、1.4.3ETL功能介绍141.5大数据处理161.5.1实时数据流处理161.5.2数据挖掘分析引擎161.6大数据服务引擎171.6.1大数据配置服务管理171.6.2大数据在线分析171.6.3大数据离线分析181.6.4大数据可视化管理211.7大数据全文检索221.8调度与业务监控221.9资源与安全231.9.1租户管理231.9.2资源分配241.9.3权限管理241.10接口封装241. 大数据平台技术方案1.1 概述大数据平台必须具有高度可扩展性、实时性、高性能、低延迟分析、高度容错性、可用性、支持异构环境、开放性、易用性,同时也希望具有较低成本;其核心技术包括大规模数据流处
3、理技术以及大规模数据管理、分析技术。系统技术架构采用面向服务的体系结构(Service-Oriented Architecture, SOA),遵循分层原则,每一层为上层提供服务。将大数据平台进行逐层解析,从下至上分别是数据接口层、文件存储层、数据存储层、数据分析层、数据层、业务控制层、表现层、系统监控层。(1)数据接口层:为保证数据接入层的接口灵活性,采用Restful风格接口实现方式,Restful有轻量级以及通过 HTTP 直接传输数据的特性,Web 服务的 RESTful 方法已经成为最常见的方法。同时数据的接入及交换采用Kafka集群和WebService方式,Kafka是一种高吞吐
4、量的分布式发布订阅消息系统,可以满足系统与大数据平台的高并发量数据交换。Web Service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XM标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。(2)文件存储层:为满足大数据的存储要求,文件存储采用HDFS文件系统,Hadoop分布式文件系统(HDFS)是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。(3)数据存储层:根据本工程数据资源设计的需要,数据存储分别采用关系数据库、内存数据库Redis、分布式大数据存储。(
5、4)数据分析层:采用Storm技术完成实时流分析的需求,Storm是一个分布式的、容错的实时计算系统。可以方便地在一个计算机集群中编写与扩展复杂的实时计。采用MapReduce和Spark实现离线分析。Spark是类Hadoop MapReduce的通用并行框架,能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。(5)数据接入层:应用与数据库的交互采用JDBC级Hibernate技术实现。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的 orm框架,hibernate可以自动生成
6、SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。(6)业务控制层:采用当今最流行的轻量级Java开发框架Spring,同时与SpringMVC整合。Spring具有轻量、低侵入式设计、方便解耦,简化开发、AOP编程的支持、方便集成各种优秀框架等优点。(7)表现层:采用EasyUI,Ajax,FreeMarker,JavaScript技术,这些技术能极大提高开发效率,同时能满足工程中各种复杂的前端展现要求。(8)监控层:采用Zookeeper 分布式服务框架。主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式
7、应用配置项的管理等。它的作用主要是用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理。1.2 动静态信息交换1.2.1 系统概述动静态信息交换建立目的是通过标准的规范性数据接口定义,实现采集各类动态和静态数据,实现与接入平台的数据通信与交换共享。数据采集交换系统根据数据交换的对象和内容的不同,服务对象包括省市级管理机构等。数据交换平台包含一系列的服务,如:数据采集服务、平台认证服务、发布订阅服务等。1.2.2 数据采集服务数据采集服务采集各级行业管理部门、各行业业务系统的数据信息,对这些静动态数据进行收集,用以进行后续操作。数据采集模块按照定义的接
8、口规范进行连接、响应、接收、发送处理。接收各级行业管理部门报送的数据。1.2.3 数据采集服务配置针对上报大数据管理平台的信息,灵活配置其可采集的服务种类,来源,IP地址,采集的数据类型以及服务方式,使数据的采集更加灵活可控。数据采集服务配置模块的主要功能有:(1) 动态配置服务。根据IP、数据类型和服务方式对服务进行动态配置。(2) 对接入数据进行验证。不允许非配置内的服务接入数据,允许配置内的服务接入数据。1.2.4 平台认证服务为了保障数据服务的安全性,在传输数据之前,需要先通过接口进行登录认证,从而确定数据交换平台及权限,以及平台接入的有效期。平台认证模块主要功能有:根据平台信息进行登
9、录认证。根据申请接入的其他平台或者系统的相关信息,对该平台或者系统进行身份验证。根据认证结果获取登录权限和有效期等信息。如果验证通过,则允许接入系统,如果验证不通过,则不允许接入。1.2.5 动静态数据发布订阅服务发布订阅服务根据分发调度策略,判断采集动静态数据属于某个地市,发布到该地市的主题,存储到消息队列,记录日志。动静态数据发布订阅模块的主要功能有:(1) 获取信息,将数据存储到消息队列。根据接入数据的相关信息,获取对应的信息。(2) 记录日志信息。将信息下发到相应的消息队列,并记录日志信息。1.2.6 负载均衡服务根据数据采集服务和分发服务进行负载分析与数据的多路径流向调整,用以减小平
10、台压力,提高平台的运行效率。负载均衡模块的主要功能是根据采集服务和分发服务进行负载均衡处理。1.2.7 协议分析转换功能按协议规范对上报数据进行解析,对分发的数据进行封装,实现与其他平台的数据准确对接。协议分析转换模块的主要功能有:(1) 按协议规范对上报数据进行解析。对接入的数据,按照预先指定的协议进行解析,方便在系统中的处理和流通。 (2) 对分发的数据进行封装。对于系统处理过的数据,要根据预先指定的协议,将数据进行打包封装,然后下发到其他平台或者系统。1.2.8 动静态数据分发服务根据各级数据请求,按照定义的接口规范进行连接、响应、按主题分发处理。分发各类动静态信息。(1) 按照定义的接
11、口规范进行连接响应。(2) 对数据按照主题进行分发。根据接入数据的相关信息,从而获取相关的数据需求方信息,并且获取相应的主题信息,并将数据按照主题下发到相应的平台。1.2.9 数据分发服务配置针对分发平台的信息,灵活配置分发的服务种类,分发的数据类型以及服务方式,实现分发的灵活可控性。数据分发服务配置模块的主要功能有:(1) 获取将要分发的平台的信息。根据系统中提供的其他平台的相关数据,获取将要分发的平台的相关信息,方便后续数据的分发。(2) 根据平台的信息配置要进行分发的服务。根据已经获取的相关的平台的数据,对平台的服务信息进行配置。1.2.10 数据缓存服务数据缓存服务主要提供本项目动态信
12、息内存缓存、持久化存储当前点以及缓存预处理的数据,向数据应用提供快速访问中间数据源。数据缓存模块的主要功能是进行数据缓存,如内存缓存、持久化存储当前点以及缓存预处理网格信息等数据。1.2.11 数据交换信息日志记录数据采集以及分发的数据量,为验证数据交换的完整性、可追溯性以及可视性打下基础。数据交换信息日志模块的主要功能有:(1) 记录数据采集获取的数据量。在进行数据交互时,记录接入的数据的数据量信息。(2) 记录数据分发的数据量。在进行数据的交互时,记录分发的数据的数据量信息。1.3 大数据存储根据业务类型,数据划分为基础信息数据库、主题数据库、业务数据库三大数据库。其中基础数据库存储行业的
13、静态数据以实现与实时数据的快速拟合;主题数据库各类主题数据;业务库存储实时的业务数据。根据数据的使用时效分为在线存储、离线存储。1.3.1 数据仓库工具随着大数据平台不断的接入海量数据,大数据平台引入数据仓库技术来解决各类业务问题。数据仓库是一个抽象的概念所以可以简单的理解为不同粒度的数据层,比如:数据缓冲层(存放当日增量数据)、数据明细层(存放最全的明细数据)、数据模型层(轻粒度的数据汇总以及模型设计,这个时候需要设计相应的主题)、数据集市层(一般就是一些宽表,包含多维度和指标,方便用来做多维分析)、数据应用层(主要是开放给业务侧使用,多存放粗粒度的数据报表)。通过数据仓库模型为各类应用提供
14、数据支撑。1.3.2 大数据在线存储大数据在线存储存储临时性的数据,提供高效数据索引,面向列的高可靠性、高性能、可伸缩的分布式存储,以及面向RMDB的数据导入与导出功能。大数据在线存储子系统提供简化编程模型支持、容错、横向线性扩展等特性。在线存储主要利用Hbase列式数据库做为主在线存储。在线存储的技术架构如上图所示,其中:HBase Client使用HBase的RPC机制与HMaster和HRegionServer进行通信。对于管理类操作(如建表,删表等),Client和HMaster进行RPC;对于数据读写类操作,Client和HRegionServer进行RPC。每台HRegionSer
15、ver都会与HMaster进行通信,HMaster的主要任务就是要告诉每台HRegion Server它要维护哪些HRegion。当一台新的HRegionServer登录到HMaster时,HMaster会告诉它等待分配数据。而当一台HRegion死机时,HMaster会把它负责的HRegion标记为未分配,然后再把它们分配到其他的HRegion Server中。HBase通过多个HMaster实例和Zookeeper的协调功能解决了HMaster单点故障问。HMaster在功能上主要负责Table和Region的管理工作。HRegionServer主要负责响应用户I/O请求,向HDFS文件系
16、统中读写数据,是HBase中最核心的模块。 HBase能提供实时计算服务是由其架构和底层的数据结构决定的,即由LSM-Tree(Log-Structured Merge-Tree) + HTable(region分区) + Cache决定客户端可以直接定位到要查数据所在的HRegion server服务器,然后直接在服务器的一个region上查找要匹配的数据,并且这些数据部分是经过cache缓存的。包括以下功能:(1) 高效数据索引HBase读取首先会在缓存中查找,它采用了LRU(最近最少使用算法),如果缓存中没找到,会从内存中的MemStore中查找,只有这两个地方都找不到时,才会加载HFi
17、le中的内容,而使用了LSM树型结构的HFile节省了寻道开销,读取速度也会很快。(2) 分布式存储HBase存储的文件系统使用HDFS分布式存储系统,每张表都通过行键按照一定的范围被分割成多个子表(HRegion),默认一个HRegion超过预设大小(默认256M)就要被分割成两个。HRegionServer存取一个子表时,会创建一个HRegion对象,然后对表的每个列族(Column Family)创建一个Store实例,每个Store都会有0个或多个StoreFile与之对应,每个StoreFile都会对应一个HFile, HFile就是实际的存储文件。1.3.3 大数据离线存储大数据离
18、线存储通过HDFS分布式文件系统技术为平台提供稳定可靠的存储支持。离线存储保存了所有历史数据。大数据离线存储提供的功能包括:容错机制、集群资源管理、存储资源的访问隔离和横向扩展、数据的镜像和冗余等功能。(1) 容错机制HDFS通过多方面保证数据的可靠性,实现了高容错功能:多份复制并且分布到物理位置的不同服务器上、数据校验功能、后台的连续自检数据一致性功能。(2) 集群资源管理 元数据节点用来管理文件系统的命名空间;数据节点是文件系统中真正存储数据的地方,其周期性的向元数据节点回报其存储的数据块信息。 HDFS文件系统检查工具FSCK可以检查HDFS系统的健康状况。 一旦数据发生异常,NameN
19、ode可进入安全模式,便于数据的恢复。 每一个DataNode都会周期性运行一个数据扫描线程,它可以检测并通过修复命令来修复坏块或丢失的数据块。(3) 存储资源的访问隔离 用户提交作业时,JobTracker端要进行身份核实,先是验证到底是不是这个人,即通过检查执行当前代码的人与JobConf中的user.name中的用户是否一致。 然后会检查ACL(Access Control List)配置文件(由管理员配置)看你是否有提交作业的权限。一旦你通过验证,会获取HDFS或者mapreduce授予的delegation token(访问不同模块有不同的delegation token)。 之后的
20、任何操作,比如访问文件,均要检查该token是否存在,且使用者跟之前注册使用该token的人是否一致。另外HDFS Federation方案允许HDFS创建多个namespace以提高集群的隔离性。(4) 存储资源的横向扩展 可扩展性是HDFS的一个重要特性,向HDFS集群中添加或删除节点,可以通过简单操作即可完成。新增或删除DataNode节点时,会导致数据块分布的不均匀,用户可以使用balance命令重新平衡DataNode上的数据块的分布。 HDFS Federation方案使用了多个独立的Namenode/namespace来使得HDFS的命名服务能够水平扩展成联合集群(5) 数据的镜
21、像和冗余 冗余备份:HDFS将每个文件存储成一系列的数据块(Block),默认块大小为64MB(可以自定义配置)。为了容错,文件的所有数据块都可以有副本(默认为3个,可以自定义配置)。当DataNode启动的时候,它会遍历本地文件系统,产生一份HDFS数据块和本地文件对应关系的列表,并把这个报告发送给NameNode,这就是报告块(BlockReport),报告块上包含了DataNode上所有块的列表。 副本存放:HDFS集群一般运行在多个机架上,不同机架上机器的通信需要通过交换机。通常情况下,副本的存放策略很关键,机架内节点之间的带宽比跨机架节点之间的带宽要大,它能影响HDFS的可靠性和性能
22、。HDFS采用一种称为机架感知(Rack-aware)的策略来改进数据的可靠性、可用性和网络带宽的利用率。在大多数情况下,HDFS副本系数是默认为3,HDFS的存放策略是将一个副本存放在本地机架节点上,一个副本存放在同一个机架的另一个节点上,最后一个副本放在不同机架的节点上。这种策略减少了机架间的数据传输,提高了写操作的效率。机架整体出现错误的几率远远比节点的少,所以这种策略不会影响到数据的可靠性和可用性。1.4 数据清洗转换大数据平台提供数据清洗转换工具,提供了一个强健、高效的数据处理引擎,支撑各种复杂的数据转换流程、任务调度流程的高效运行。引擎采取异步并行处理的技术,实现流程中的每个组件多
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 平台 解决方案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内