文档介绍:该【大数据平台概要设计说明书模板 】是由【小屁孩】上传分享,文档一共【31】页,该文档可以免费在线阅读,需要了解更多关于【大数据平台概要设计说明书模板 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..:2021-01-28日期:日期:〔版权所有,翻版必究〕:..文件修改记录修改日期修改状态修改页码及条款修改人审核人批准人:....................................................5编写目的...........................................................5术语与缩略词.......................................................6对象及范围.........................................................8参考资料.....................................................................................................9需求规定...........................................................9数据导入.....................................错误!未定义书签。数据运算.....................................错误!未定义书签。运算结果导出.................................错误!未定义书签。系统监控.....................................错误!未定义书签。调度功能.....................................错误!未定义书签。自动化安装部署与维护.........................错误!未定义书签。运行环境...........................................................9根本设计思路和处理流程.............................................9系统构造..........................................................10大数据运算系统架构图........................................10hadoop体系各组件之间关系图..................错误!未定义书签。计算平台系统功能图..........................................11系统功能图逻辑说明..........................................11计算平台业务流程图...........................错误!未定义书签。尚未解决的问题............................................................................................12计算驱动模块......................................................15设计思路....................................................15流程图......................................................17处理逻辑....................................................18调度模块..........................................................13设计思路....................................................13流程图......................................................14处理逻辑....................................................14自动化安装部署模块.................................错误!未定义书签。设计思路.....................................错误!未定义书签。处理逻辑.....................................错误!未定义书签。调度模块与计算驱动模块交互流程.....................错误!未定义书签。处理流程图...................................错误!未定义书签。处理逻辑.....................................错误!未定义书签。hadoop驱动模块调用驱动接口..................错误!未定义书签。调度模块接收hadoop执行状态接口..............错误!未定义书签。:..调度模块与kettle交互流程..........................错误!未定义书签。处理流程图...................................错误!未定义书签。处理逻辑.....................................错误!未定义书签。对调度任务运行过程进展监控流程.....................错误!未定义书签。处理流程图...................................错误!未定义书签。处理逻辑.....................................错误!未定义书签。对hadoop驱动任务运行过程进展监控流程..............错误!未定义书签。处理流程图...................................错误!未定义书签。处理逻辑.....................................错误!未定义书签。对操作系统/应用程序监控流程.......................................19处理流程图..................................................19处理逻辑....................................................19监控报警模块......................................................20设计思路....................................................20流程图......................................................21处理逻辑.........................................................................................22数据实体关系图....................................................22数据逻辑构造......................................................22驱动任务设置表...............................错误!未定义书签。驱动设置表...................................错误!未定义书签。驱动任务执行明细表...........................错误!未定义书签。调度任务表...................................错误!未定义书签。调度步骤表..................................................23调度步骤执行记录表..........................................23操作系统监控数据表...........................错误!未定义书签。应用程序监控数据表...........................错误!未定义书签。监控系统配置表...............................错误!未定义书签。业务数据记录表...............................错误!未定义书签。数据物理构造................................................................................................................................................31挽救措施..........................................................31系统维护设计...................................................................................................311.:..,因可从中挖掘出有价值的信息而受到重视。?华尔街日报?将大数据时代、智能化消费和无线网络革命称为引领将来繁荣的三大技术变革。麦肯锡公司的报告指出数据是一种消费资料,大数据是下一个创新、竞争、消费力进步的前沿。世界经济论坛的报告认定大数据为新财富,价值堪比石油。因此,兴旺国家纷纷将开发利用大数据作为夺取新一轮竞争制高点的重要抓手。互联网特别是挪动互联网的开展,加快了信息化向社会经济各方面、群众日常生活的浸透。有资料显示,1998年全球网民平均每月使用流量是1MB〔兆字节〕,2000年是10MB,2003年是100MB,2021年是1GB〔1GB等于1024MB〕,2021年将是10GB。全网流量累计到达1EB〔即10亿GB或1000PB〕的时间在2001年是一年,在2004年是一个月,在2007年是一周,而2021年仅需一天,。我国网民数居世界之首,每天产生的数据量也位于世界前列。淘宝网站每天有超过数千万笔交易,单日数据产生量超过50TB〔1TB等于1000GB〕,存储量40PB(1PB等于1000TB)。百度公司目前数据总量接近1000PB,存储网页数量接近1万亿页,每天大约要处理60亿次搜索恳求,几十PB数据。一个8Mbps〔兆比特每秒〕,一个城市假设安装几十万个交通和安防摄像头,每月产生的数据量将达几十PB。医院也是数据产生集中的地方。如今,一个病人的CT影像数据量达几十GB,而全国每年门诊人数以数十亿计,并且他们的信息需要长时间保存。总之,大数据存在于各行各业,一个大数据时代正在到来。信息爆炸不自今日起,但近年来人们更加感受到大数据的来势迅猛。一方面,网民数量不断增加,另一方面,以物联网和家电为代表的联网设备数量增长更快。2007年全球有5亿个设备联网,;2021年全球将有500亿个设备联网,人均70个。随着宽带化的开展,人均网络接入带宽和流量也迅速提升。全球新产生数据年增40%,即信息总量每两年就可以翻番,这一趋势还将持续。目前,单一数据集容量超过几十TB甚至数PB已不罕见,其规模大到无法在容许的时间内用常规软件工具对其内容进展抓取、管理和处理。数据规模越大,处理的难度也越大,但对其进展挖掘可能得到的价值更大,这就是大数据热的原因。鉴于越来越大的数据规模,采用常规基于DBMS的数据分析工具和方法已经无法满足大规模数据分析的需求,目前一些大型互联网公司采用hadoop体系进展大规模数据:..的运算,结合hadoop体系构造与实际的运算需求结合,采用hadoop体系构造的分布式运算模型,通过集群的方式实现大数据运算,为企业提供大数据的价值。为适应大数据计算的要求,同时提供大数据运算平台的系统设计的根据,特制定计算平台的系统概要设计文档,为后期的系统详细设计和实现提供根据。、定义和缩略语适用于本标准:术语与缩略词解释备注NamenodeHDFS采用master/slave架构。一个HDFS集群是由一个Namenode和一定数目的Datanodes组成。Namenode是一个中心效劳器,负责管理文件系统的名字空间(namespace)以及客户端对文件的访问。Namenode执行文件系统的名字空间操作,比方翻开、关闭、重命名文件或目录。它也负责确定数据块到详细Datanode节点的映射Datanode集群中的Datanode一般是一个节点一个,负责管理它所在节点上的存储。HDFS暴露了文件系统的名字空间,用户可以以文件的形式在上面存储数据。从内部看,一个文件其实被分成一个或多个数据块,这些块存储在一组Datanode上。Datanode负责处理文件系统客户端的读写恳求。在Namenode的统一调度下进展数据块的创立、删除和复制Secondnamenode光从字面上来理解,很容易让一些初学者先入为主的认为:SecondaryNameNode〔snn〕就是NameNode〔nn〕的热备进程。其实不是。snn是HDFS架构中的一个组成局部,但是经常由于名字而被人误解它真正的用处,其实它真正的用处,是用来保存namenode中对HDFSmetadata的信息的备份,并减少namenode重启的时间JobtrackerJobTracker是MapReduce框架中最主要的类之一,所有job的:..执行都由它来调度,而且Hadoop系统中只配置一个JobTracker应用。它们都是由一个master效劳JobTracker和多个运行于多个节点的slaver效劳TaskTracker两个类提供的效劳调度的。master负责调度job的每一个子任务task运行于slave上,并监控它们,假如发现有失败的task就重新运行它,slave那么负责直接执行每一个taskTaskTrackerTaskTracker都需要运行在HDFS的DataNode上,而JobTracker那么不需要,一般情况应该把JobTracker部署在单独的机器上HBaseHBase是一个分布式的、面向列的开源数据库,该技术来源于Changetal所撰写的Google论文“Bigtable:一个构造化数据的分布式存储系统〞。就像Bigtable利用了Google文件系统〔FileSystem〕所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的才能。HBase是Apache的Hadoop工程的子工程。HBase不同于一般的关系数据库,它是一个合适于非构造化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的形式。Hivehive是基于Hadoop的一个数据仓库工具,可以将构造化的数据文件映射为一张数据库表,并提供完好的sql查询功能,可以将sql语句转换为MapReduce任务进展运行。其优点是学习本钱低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,非常合适数据仓库的统计分析。StormStorm为分布式实时计算提供了一组通用原语,可被用于“流处理〞之中,实时处理消息并更新数据库。这是管理队列及工作者集群的另一种方式。Storm也可被用于“连续计算〞〔putation〕,对数据流做连续查询,在计算时就将结果以流的形式输出给用户。它还可被用于“分布式RPC〞,以并行的方式运行昂贵的运算。FlumeFlume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于:..搜集数据;同时,Flume提供对数据进展简单处理,并写到各种数据承受方〔可定制〕的才能。ETLETL是数据抽取〔Extract〕、清洗〔Cleaning〕、转换〔Transform〕、装载〔Load〕的过程。是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。KettleKettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。MySQLMySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。目前MySQL被广泛地应用在上的中小型网站中。由于其体积小、速度快、总体拥有本钱低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有本钱而选择了MySQL作为网站数据库。MongoDBMongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据构造非常松散,是类似json的bson格式,因此可以存储比拟复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大局部功能,而且还支持对数据建立索引。、开发人员、DBA、测试人员;2、研发主管指导、产品人员;:..、?大数据处理体系架构?2、?HBaseTheDefinitiveGuide?3、??4、?Programming_Hive?-:、按照数据分析的实时性,分为在线数据分析和离线数据分析。2、在线数据分析:往往要求系统在数秒内返回上亿行数据的分析,从而才能到达不影响用户体验的目的。3、离线数据分析:对大多数反应时间要求不高的应用,比方离线统计分析、机器学习等,应采用离线分析的方式,通过数据采集工具将日志数据导入专门的分析平台进展分析。:..4、系统主要以离线数据分析为主,采用目前在互联网业界流行的hadoop体系构造对大批量的数据进展运算,采用hadoop集群的方式对大数据进展运算。5、数据运算平台以调度为主线,作为运算平台的核心控制系统,对运算平台的各个环节进展控制,且对运算过程中的步骤依赖关系进展控制,同时对各个环节进展监控,通过监控异常报警来进步系统的稳定性和异常响应速度。,报表展现,数据应用统计、分析数据存储,数据接口数据效MongoDB、MySql劳在线计算:离线计算:统计分Storm流计算框架Hadoop(Map/Reduce、Hive、pig)析Hadoop(HDFS、HBASE)日志存储日志采集日志采集系统Flume:.....计eper算KafkaSqoopFlaumeKettle源数据系统功能图逻辑说明1)消费系统的源数据通过sqoop,flume,Kettle等获取后保存在Kafka消息队列中或者保存到hadoop的hdfs系统中。2)调度系统负责自身的控制功能,通过读取调度控制的配置信息调用驱动代理程序处理相关的运算功能。3)驱动代理程序负责所有基于运算平台的相关组件的驱动任务,读取调度系统传递过来的模版信息,读取模版信息,并执行相应的驱动操作。4)系统管理功能局部完成系统相关配置,管理等相关信息的维护操作。5)监控系统对整个系统的运行状况进展监控,由各个业务子系统按照监控系统的要务实现相应的监控功能。:.....系统监控模版服务器监控资源监控业务模版计算模版功能模版管理任务监控功能监控数据监控异常监控运PigHiveMahout行程序运行统计Storm环异常统计运行统计离实境MapRedcueHBaseZooke线时超时统计执行监控Kakfa计eper计算HDFS算元数据管理Flume调度元数据监控元数据SqoopKettle计算元数据文件元数据大数据平台功能构造图说明:1〕大数据平台功能构造主要划分为计算平台,应用平台,系统管理以及监控,配置等相关应用功能。2〕计算平台分为根底运算局部,模版管理局部,驱动代理局部,系统调度局部。3〕计算平台分为离线计算与实时计算两种形式。4〕计算平台基于模版的功能开发,实际应用中做到模版的热插拔,对于功能需求只需要开发相应的模版,并部署上计算平台即可应用。5〕驱动代理程序管理所有的基于大数据运算的相关组件的代理功能,对外提供应调度系统应用,调用模版设置的相应的类型,进展相应类型的驱动操作。6〕调度系统只关心其自身的系统控制才能,不参与详细的业务以及计算功能组件的调用。:..:调度模块实现功能思路定时提取任务判断依赖关系执行任务有步骤执行是调用驱动代理初始化模版否执行具体应用标识任务完成二:流程说明以及考前须知:1、任务与步骤采用配置表的方式保存在mysql中,调度程序定时扫描任务表,判断是否有启动的任务,假如有启动的任务,那么启动任务。2、调度任务需要判断任务中步骤之间的依赖关系,根据依赖关系判断是否可以执行下一步的执行步骤。3、一个任务中可以包含多个步骤,每个步骤为一个详细的任务,步骤与步骤直接存在依赖关系。4、对于详细的执行任务将由驱动代理自动完成。:..(1..N)查询步骤列表获取步骤(1..N)关联模板实例查询实例参数初始化参数遍历遍历判断模板类型kettlehadoop…、调度任务启动后扫描任务配置表,看任务配置表是否存在需要处理的任务信息,假如不存在需要处理的任务信息,那么线程执行休眠,否那么执行步骤2;2、生成数据日期,并检查任务依赖关系,假如依赖关系未执行完,那么现成等待操作,等待依赖的任务执行完成,假如依赖关系都执行完,那么获取符合条件的任务,执行步骤3::..3、读取任务信息表,获取任务信息,根据任务信息读取步骤信息,执行相应的步骤操作,执行步骤4;4、根据步骤信息的配置获取需要执行的相应的模版信息,调用驱动代理程序执行相应的功能,执行步骤5;5、驱动代理程序执行模版初始化,初始化完成后获取相应的参数数据,并根据模版类型选择详细的驱动程序,执行相应的操作。6、判断该任务的下步骤是否执行完成,假如未执行完成,那么执行步骤3,继续下一个步骤的执行,否那么执行步骤7;7、写步骤完成信息表,判断是否还存在要执行的任务,假如没有等待,:计算驱动模块实现功能思路读取配置信息删除数据文件加载数据文件执行计算操作导出结果文件二:流程说明以及考前须知:1、计算平台的驱动提供针对Hive,MapReduce,Hbase等相关的驱动应用。2、基于业务模版的设置操作,调度执行业务模版,不关心模版详细业务形态。3、一个驱动应用包含四个步骤:1〕删除不用的数据;2〕加载数据;3〕运算;4〕导出结果文件。4、提供监控需要的相应信息。:..5、对于文件的操作,会涉及到多个文件或者目录操作,多个文件或者目录以逗号分隔,对文件操作中涉及到一些按照小时,天,月份的文件命名的操作,配置中以特殊字符进展交换。:..:..、由调度程序驱动代理模块,调用驱动代理模块的驱动应用,传递需要驱动的模版编号,处理时间范围等相关信息,执行流程2;2、驱动程序首先查询是否存在该模版,假如不存在模版,、那么执行流程3,否那么执行流程4;3、那么直接返回任务失败信息,不存在相关的模版,整个流程完毕;4、假如查询到相关的模版信息,先执行初始化模版信息以及需要删除的中间文件,多个文件以逗号分割,假如为空那么表示不需要清理中间文件,执行流程5;5、清理hive表数据操作,多个hive语句以逗号分割,假如为空那么表示不需要进展分割,执行流程66、判断该操作是hive驱动mapreduce还是自定义的mapreduce,假如是自定义的mapreduce那么走自定义的mapreduce操作,执行流程7,否那么假如是hive驱动的mapreduce,那么走hive操作流程,否那么执行流程8;7、假如mapreduce的操作流程,第一步执行加载文本文件数据,多个文本文件以逗号进展分割,第二步执行mapreduce操作,通过shell脚本的方式执行mapreduce操作,第三步执行完后将结果输出。8、假如是hive的操作流程,第一步先执行加载文本文件到hive表,假如有多个文件操作一逗号分割,第二步执行hive语句,多个hive语句以逗号分割的方式,第三步将结果输出到相应的hive表中。9、根据设置导出的方式,将结果文件导出到mysql,或者mongodb,或者直接将文本文件从hdfs文件系统中导出。:...1处理流程图读取监控服务器列表需要监控?是监控模块发送http请求否否应用服务器反馈信息解析数据入库监控服务器读取完?、读取监控效劳器列表,判断是否需要监控,假如需要监控,那么执行步骤2,假如不需要监控,执行步骤5;2、监控模块向监控效劳器发送监控恳求,等到被监控效劳器的返回,执行步骤3;3、被监控效劳器接收到恳求监控信息后,将相关的信息返回给监控模块,执行步骤4;4、监控效劳器将返回的数据进展解析后入库,执行步骤5;5、判断被监控效劳器是否都恳求完成,假如恳求完成,那么执行步骤6,否那么执行步骤1;6、监控模块线程休眠10分钟,等待下次进展监控,执行步骤1.:..3