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