大数据处理平台设计方案方案.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(57页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、大数据处理平台设计方案方案1.2.6.1 大数据基础平台(1) 架构设计SDC Hadoop大数据基础平台集工作台、工作流开发环境、任务调度、数据管理、数据检索、集群运维管理系统和应用门户为一体,为用户提供基于大数据的基础解决方案,全面满足不同行业、不同人群对大数据的个性化要求。其架构设计如下图:l 运维管理(SDC Console):SDC Console是大数据运维管理系统,为SDC Hadoop供高可靠、安全、容错、易用的集群管理能力,支持大规模集群的安装部署、监控、告警、用户管理、权限管理、审计、服务管理等。l SDC Hadoop集成开发工具:提供了web图形化方式操作,包括流程控制
2、、作业调度、数据管理、数据搜索、元数据管理、文件管理等功能。l HDFS: Hadoop分布式文件系统(Hadoop Distributed File System) ,提供高吞吐量的数据访问,适合大规模数据集方面的应用。l Zookeeper:提供分布式、高可用性的协调服务能力。帮助系统避免单点故障,从而建立可靠的应用程序。l HBase:提供海量数据存储功能,是一种构建在HDFS之上的分布式、面向列的存储系统。l Elasticsearch:提供了一个分布式多用户能力的全文搜索引擎。l Parquet:面向分析型业务的列式存储格式。l YARN 资源管理系统,它是一个通用的资源模块,可以为
3、各类应用程序进行资源管理和调度。l Tachyon:分布式内存文件系统,可以在集群里以访问内存的速度来访问存在tachyon里的文件。l Redis:提供基于内存的高性能分布式K-V缓存系统。l MapReduce:提供快速并行处理大量数据的能力,是一种分布式数据处理模式和执行环境。l Spark:基于内存进行计算的分布式计算框架。l Strom:提供分布式、高容错的实时计算系统。l Hive:建立在Hadoop基础上的开源的数据仓库,提供类似SQL的Hive Query Language语言操作结构化数据存储服务和基本的数据分析服务。l Impala:提供SQL语义,能查询存储在Hadoop
4、的HDFS和HBase中的PB级大数据。l Spark Streaming:建立在Spark上的实时计算框架,通过它提供的丰富的API、基于内存的高速执行引擎,用户可以结合流式、批处理和交互试查询应用。l Kylin:支持在超大数据集上进行秒级别的SQL及OLAP查询。(2) 功能模块大数据运维管理大数据运维管理为大数据存储供高可靠、安全、容错、易用的集群管理能力,支持大规模集群的安装部署、统一监控告警、统一用户权限管理、日志查询、服务管理等。l 服务管理提供服务管理,支持对各项资源及服务进行创建、删除、启停、重启、配置、升级、部署、维护等操作:l 统一监控告警提供集群监控功能,集成大数据服务
5、、可视化服务、数据挖掘服务等,并对服务器CPU、服务资源、服务状态(警告、错误、隐患)进行实时监控,并以图表形式呈现。支持异常邮件报警,便于用户及时发现问题并处理:l 日志查询提供日志分析友好的Web界面,可以帮助用户汇总、分析和搜索重要数据日志:l 统一用户权限管理提供统一用户权限管理,方便管理员对用户进行管理:SDC Hadoop集成开发工具提供了web图形化方式操作,包括流程控制、作业调度、数据管理、数据搜索、元数据管理、文件管理等功能。l 流程控制工作流是由多个节点和节点间的依赖关系所组成的一组逻辑和规则,形成一张有向无环图(DAG图)开发者可通过开发面板和管理面板新建工作流来新建工作
6、流进入工作流设计器,在工作流设计器中通过拖拽不同类型节点并连线的方式来开发一个工作流,提供基本的数据集成、数据计算、数据调度等组件的工作流设计,支持工作流的新增、删除、修改、查询、测试运行、格式化、提交、保存。支持设置工作流任务定时执行,并实时监控任务执行情况,支持运行日志查看。l 实时概况采用多视图实时对流程运行进行监控,从状态、时段、步骤类型、耗时等不同角度查看过去12小时或24小时内所有流程的运行统计概况,帮助用户第一时间获知全局运行情况,并提供强大的性能分析报告优化流程调度:流程设计:通过简单的拖拽方式即可完成数据特征提取,样本数据建立,数据挖掘场景构建等复杂流程设计,界面简洁,操作简
7、单:工作流列表和工作流设计在同一页面,方便用户快速的切换工作流进行操作,提供工作流新增、删除、修改、查询、运行、保存功能:提供工作流组件参数配置,满足用户各类流程设计需求:用户可设置工作流调度,让流程任务定时执行:提供工作流运行、暂停功能,运行过程中实时返回各步骤运行结果:运行监控:展示进行中和已完成的工作流信息,信息主要包含流程名称、状态、提交者、启动时间、结束时间、运行进度:提供关键词搜索流程功能,支持按状态和周期筛选工作流,方便用户快速查找:提供运行中的工作流暂停、终止功能;提供已完成的工作流再次运行、查看运行日志功能:l 作业调度通过多时间维度的计算任务调度、在线运维、监控报警等功能为
8、大数据开发提供稳定的计算调度能力,可以支持超过百万级的调度任务量。l 数据管理支持关系型数据、Hadoop等多种方式的数据查询操作。可指定数据库进行查询,支持历史查询记录查看:提供图表化的查询结果展示,支持条状图、折线图、圆形图、映射图;图表还可按升序、降序及正常序显示查询结果:支持查询结果导出为XLS和CSV格式,还可保存到HDFS或者Hive中:l 数据搜索通过平台建立多维索引,实现分布式实时搜索与分析引擎,可实时对数据进行深度搜索:l 元数据管理对元数据进行管理和操作,查看表结构、表的存储位置及样本数据。支持从文件创建一个表、手动创建一个表以及Hadoop体系与传统关系型数据库之间大批量
9、数据的传输。查看元数据信息,如表结构、样例数据及存储位置等,支持指定数据库查看:支持手动创建一个表,后续数据导入到该表文件夹下,可实现对数据的查询等操作;同时也支持从数据文件中导入数据的方式创建一个表:l 文件管理文件管理主要功能是实现对Hadoop文件的管理,实现海量数据文件的分布式存储。支持对文件进行新增、删除、修改、查询、权限更改等操作。支持查看历史记录以及从回收站恢复删除的文件:分布式文件系统HDFSHDFS是Hadoop的分布式文件系统,实现高吞吐量的数据访问,适合大规模数据集方面的应用,为海量数据提供存储。HDFS包含主、备NameNode和多个DataNode。在HDFS内部,一
10、个文件分成一个或多个“数据块”DataNode集合里,NameNode负责保存和管理所有的HDFS元数据。客户端连接到NameNode,执行文件系统的“命名空间”操作,例如打开、关闭、重命名文件和目录,同时决定“数据块”到具体DataNode节点的映射。DataNode在NameNode的指挥下进行“数据块”的创建、删除和复制。客户端连接到DataNode,执行读写数据块操作。 分布式批处理引擎MapReduceMapReduce 是用于并行处理大数据集的软件框架。MapReduce 的根源是函数性编程中的map和reduce函数。Map函数接受一组数据并将其转换为一个键/值对列表,输入域中的
11、每个元素对应一个键/值对。Reduce函数接受Map函数生成的列表,然后根据它们的键缩小键/值对列表。MapReduce起到了将大事务分散到不同设备处理的能力,这样原本必须用单台较强服务器才能运行的任务,在分布式环境下也能完成了。统一资源管理和调度框架YARNYARN是中的资源管理系统,它是一个通用的资源管理模块,可以为各类应用程序进行资源管理和调度。YARN不仅局限于MapReduce一种框架使用,也可以供其他框架使用,比如Tez、Spark、Storm等。YARN主要分为ResourceManager、ApplicationMaster与NodeManager三个部分。 l Resourc
12、eManager:RM是一个全局的资源管理器,负责整个系统的资源管理和分配。它主要由两个组件构成:调度器(Scheduler)和应用程序管理器 (Applications Manager) 。 调度器根据容量、队列等限制条件(如每个队列分配一定的资源,最多执行一定数量的作业等),将系统中的资源分配给各个正在运行的应用程序。调度器仅根据各个应用程序的资源需求进行资源分配,而资源分配单位用一个抽象概念Container表示。Container是一个动态资源分配单位,它将内存、CPU、磁盘、网络等资源封装在一起,从而限定每个任务使用的资源量。此外,该调度器是一个可插拔的组件,用户可根据自己的需要设计
13、新的调度器,YARN提供了多种直接可用的调度器,比如Fair Scheduler和Capacity Scheduler等。 应用程序管理器负责管理整个系统中所有应用程序,包括应用程序提交、与调度器协商资源以启动ApplicationMaster、监控ApplicationMaster运行状态并在失败时重新启动它等。 l NodeManager:NM是每个节点上的资源和任务管理器。一方面,它会定时向RM汇报本节点上的资源使用情况和各个Container的运行状态;另一方面,它接收并处理来AM的Container启动/停止等各种请求。l ApplicationMaster:AM负责一个Applic
14、ation生命周期内的所有工作。包括: 与RM调度器协商以获取资源。 将得到的资源进一步分配给内部的任务(资源的二次分配)。 与NM通信以启动/停止任务。 监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务。分布式数据库HBaseHBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。HBase适合于存储大表数据(表的规模可以达到数十亿行以及数百万列) 访问可以达到实时级别。HBase集群由主备Master进程和多个RegionServer进程组成: l 利用Hadoop HDFS(Hadoop Distributed File System)作为其文件存储系统,提
15、供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。l 为Spark和Hadoop MapReduce提供海量数据实时处理能力。 l 利用ZooKeeper作为协同服务。分布式内存计算框架SparkSpark是一个并行数据处理框架,能够帮助用户简单的开发快速,统一的大数据应用,对数据进行,协处理,流式处理,交互式分析等等。 Spark具有如下特点:l 快速:数据处理能力,比MapReduce快10-100倍。 l 易用:可以通过Java,Scala,Python,简单快速的编写并行的应用处理大数据量,Spark提供了超过80种高层的操作符来帮助用户组件并行程序。 l 普遍性:Spark提
16、供了众多高层的工具,例如Spark SQL,MLib,GraphX,Spark Stream,可以在一个应用中,方便的将这些工具进行组合。 l 与Hadoop集成:Spark能够直接运行于Hadoop 的集群,并且能够直接读取现存的Hadoop数据。尤其,Spark和Hadoop紧密结合,可以通过大数据基础平台 Console部署安装Spark。Spark Streaming是一种构建在Spark上的实时计算框架,它扩展了Spark处理大规模流式数据的能力。Spark SQL是Spark中用于结构化数据处理的模块。Spark SQL提供了一种通用的访问多数据源的方式,可访问的数据源包括Hive
17、、Avro、Parquet、ORC、JSON和JDBC数据源,这些不同的数据源直接也可以实现互相操作。Spark SQL复用了Hive的前端处理逻辑和元数据处理模块,使用Spark SQL可以直接对已有的Hive数据进行查询。另外,SparkSQL还提供了诸如API、CLI、JDBC等诸多接口,对客户端提供多样接入形式。分布式搜索ElasticSearchElasticSearch是一个实时分布式搜索和分析引擎:l 可用于全文搜索、结构化搜索、文本分析;l 提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口,目的是通过简单的RESTful API来隐藏Lucene的复杂性
18、,从而让全文搜索变得简单;l 使用Java开发的,用于复杂应用底层的搜索功能开发。l Elasticsearch不仅仅是Lucene和全文搜索,还支持以下特性:l 分布式的实时文件存储,每个字段都被索引并可被搜索;l 分布式的实时分析搜索引擎;l 可以扩展到上百台服务器,处理PB级结构化或非结构化数据。l Elasticsearch是面向文档(document oriented)的:l 可以存储整个对象或文档(document)。l 同时会索引(index)每个文档的内容使之可以被搜索。l 在Elasticsearch中,可以对文档(而非成行成列的数据)进行索引、搜索、排序、过滤。数据仓库 H
19、iveHive是建立在Hadoop上的数据仓库框架,提供类似SQL的Hive Query Language语言操作结构化数据,其基本原理是将HQL语言自动转换成MapReduce任务或Spark任务,从而完成对Hadoop集群中存储的海量数据进行查询和分析。Hive主要特点如下: l 海量结构化数据分析汇总; l 将复杂的MapReduce编写任务简化为SQL语句。l 灵活的数据存储格式,支持JSON,CSV,TEXTFILE,RCFILE,SEQUENCEFILE,ORC(Optimized Row Columnar)这几种存储格式。中的元数据包括表的名字,表的列和分区及其属性,表的属性(是
20、否为外部表等)录等。Hive为单实例的服务进程,提供服务的原理是将HQL编译解析成相应的MapReduce或者HDFS任务:流处理 Storm、Spark StreamingApache Storm是一个分布式、可靠、容错的实时流式数据处理的系统。在Storm中, 先要设计一个用于实时计算的图状结构,我们称之为拓扑(topology) 被提交给集群,由集群中的主控节点(master node)分发代码,将任务分配给工作节点(worker node)执行。一个拓扑中包括spout和bolt两种角色,其中spout发送消息,负责将数据流以tuple元组的形式发送出去;而bolt则负责转换这些数据流
21、,在bolt中可以完成计算、过滤等操作,bolt自身也可以随机将数据发送给其他bolt。由spout发射出的tuple是不可变数组,对应着固定的键值对。Spark Streaming是一种构建在Spark上的实时计算框架,它扩展了Spark处理大规模流式数据的能力。Spark Streaming具备以下特性:l 能运行在100+的结点上,并达到秒级延迟。l 使用基于内存的Spark作为执行引擎,具有高效和容错的特性。l 能集成Spark的批处理和交互查询。l 为实现复杂的算法提供和批处理类似的简单接口。分布式缓存层(Tachyon、Redis)Tachyon是Spark生态系统内快速崛起的一个
22、新项目。本质上,Tachyon是个分布式的内存文件系统,它在减轻Spark内存压力的同时,也赋予了Spark内存快速大量数据读写的能力。Tachyon把内存存储的功能从Spark中分离出来,使Spark可以更专注计算的本身,以求通过更细的分工达到更高的执行效率。Tachyon可以有效地解决如下问题:当两个Spark作业需要共享数据时,无需再通过写磁盘,而是借助Tachyon进行内存读写,从而提高计算效率。在使用Tachyon对数据进行缓存后,即便在Spark程序崩溃JVM进程退出后,所缓存数据也不会丢失。这样,Spark工作重启时可以直接从Tachyon内存读取数据了。当两个Spark作业需要
23、操作相同的数据时,它们可以直接从Tachyon获取,并不需要各自缓存一份数据,从而降低JVM内存压力,减少垃圾收集发生的频率。Redis(REmote DIctionary Service)支持多种数据类型,集群扩容、减容,Balance。l 数据类型:包括 string(字符串)、list(链表)、set(集合)、zset(有序集合)、 hash等。l 集群扩容、减容:当集群需要提供大规模的处理能力时,可以一键式扩容一对或多对主从实例。在此过程中,系统会自动完成数据迁移和数据平衡,用户无需其他操作。l Balance:出现扩容异常、部分实例掉线等异常场景时,Redis集群中的数据可能会分布不
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据处理 平台 设计方案 方案
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内