ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:78.73KB ,
资源ID:9010135      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9010135.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(大数据平台概要设计说明书精编版.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

大数据平台概要设计说明书精编版.docx

1、大数据平台概要设计说明书精编版计算平台概要设计说明书文件编号受控编号版次1.0密级内部公开总页数42附录 作者: 日期: 2013-01-28批准: 日期: 审核: 日期: (版权所有,翻版必究)文件修改记录修改日期修改状态修改页码及条款修改人审核人批准人1. 引言编写目的 大数据泛指巨量的数据集,因可从中挖掘出有价值的信息而受到重视。华尔街日报将大数据时代、智能化生产和无线网络革命称为引领未来繁荣的三大技术变革。麦肯锡公司的报告指出数据是一种生产资料,大数据是下一个创新、竞争、生产力提高的前沿。世界经济论坛的报告认定大数据为新财富,价值堪比石油。因此,发达国家纷纷将开发利用大数据作为夺取新一

2、轮竞争制高点的重要抓手。 互联网特别是移动互联网的发展,加快了信息化向社会经济各方面、大众日常生活的渗透。有资料显示,1998年全球网民平均每月使用流量是1MB(兆字节),2000年是10MB,2003年是100MB,2008年是1GB(1GB等于1024MB),2014年将是10GB。全网流量累计达到1EB(即10亿GB或1000PB)的时间在2001年是一年,在2004年是一个月,在2007年是一周,而2013年仅需一天,即一天产生的信息量可刻满1.88亿张DVD光盘。我国网民数居世界之首,每天产生的数据量也位于世界前列。淘宝网站每天有超过数千万笔交易,单日数据产生量超过50TB(1TB等

3、于1000GB),存储量40PB(1PB等于1000TB)。XX公司目前数据总量接近1000PB,存储网页数量接近1万亿页,每天大约要处理60亿次搜索请求,几十PB数据。一个8Mbps(兆比特每秒)的摄像头一小时能产生3.6GB数据,一个城市若安装几十万个交通和安防摄像头,每月产生的数据量将达几十PB。医院也是数据产生集中的地方。现在,一个病人的CT影像数据量达几十GB,而全国每年门诊人数以数十亿计,并且他们的信息需要长时间保存。总之,大数据存在于各行各业,一个大数据时代正在到来。信息爆炸不自今日起,但近年来人们更加感受到大数据的来势迅猛。一方面,网民数量不断增加,另一方面,以物联网和家电为代

4、表的联网设备数量增长更快。2007年全球有5亿个设备联网,人均0.1个;2013年全球将有500亿个设备联网,人均70个。随着宽带化的发展,人均网络接入带宽和流量也迅速提升。全球新产生数据年增40%,即信息总量每两年就可以翻番,这一趋势还将持续。目前,单一数据集容量超过几十TB甚至数PB已不罕见,其规模大到无法在容许的时间内用常规软件工具对其内容进行抓取、管理和处理。数据规模越大,处理的难度也越大,但对其进行挖掘可能得到的价值更大,这就是大数据热的原因。鉴于越来越大的数据规模,采用常规基于DBMS的数据分析工具和方法已经无法满足大规模数据分析的需求,目前一些大型互联网公司采用hadoop体系进

5、行大规模数据的运算,结合hadoop体系结构与实际的运算需求结合,采用hadoop 体系结构的分布式运算模型,通过集群的方式实现大数据运算,为企业提供大数据的价值。 为适应大数据计算的要求,同时提供大数据运算平台的系统设计的依据,特制定计算平台的系统概要设计文档,为后期的系统详细设计和实现提供依据。术语与缩略词 下列术语、定义和缩略语适用于本标准:术语与缩略词解 释备 注NamenodeHDFS采用master/slave架构。一个HDFS集群是由一个Namenode和一定数目的Datanodes组成。Namenode是一个中心服务器,负责管理文件系统的名字空间(namespace)以及客户端

6、对文件的访问。Namenode执行文件系统的名字空间操作,比如打开、关闭、重命名文件或目录。它也负责确定数据块到具体Datanode节点的映射Datanode集群中的Datanode一般是一个节点一个,负责管理它所在节点上的存储。HDFS暴露了文件系统的名字空间,用户能够以文件的形式在上面存储数据。从内部看,一个文件其实被分成一个或多个数据块,这些块存储在一组Datanode上。Datanode负责处理文件系统客户端的读写请求。在Namenode的统一调度下进行数据块的创建、删除和复制Secondnamenode光从字面上来理解,很容易让一些初学者先入为主的认为:SecondaryNameNo

7、de(snn)就是NameNode(nn)的热备进程。其实不是。snn是HDFS架构中的一个组成部分,但是经常由于名字而被人误解它真正的用途,其实它真正的用途,是用来保存namenode中对HDFS metadata的信息的备份,并减少namenode重启的时间JobtrackerJobTracker是MapReduce框架中最主要的类之一,所有job的执行都由它来调度,而且Hadoop系统中只配置一个JobTracker 应用。它们都是由一个master服务JobTracker和多个运行于多个节点的slaver服务TaskTracker两个类提供的服务调度的。 master负责调度job的每

8、一个子任务task运行于slave上,并监控它们,如果发现有失败的task就重新运行它,slave则负责直接执行每一个taskTaskTrackerTaskTracker都需要运行在HDFS的DataNode上,而JobTracker则不需要,一般情况应该把JobTracker 部署在单独的机器上HBaseHBase是一个分布式的、面向列的开源数据库,该技术来源于Chang et al所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了

9、类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。Hivehive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。 StormStorm为分布式实时计算提供了一组通用原语,可被用于“

10、流处理”之中,实时处理消息并更新数据库。这是管理队列及工作者集群的另一种方式。 Storm也可被用于“连续计算”(continuous computation),对数据流做连续查询,在计算时就将结果以流的形式输出给用户。它还可被用于“分布式RPC”,以并行的方式运行昂贵的运算。FlumeFlume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。ETLETL是数据抽取(Extract)、清洗(Cleaning)、转换(T

11、ransform)、装载(Load)的过程。是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。KettleKettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。MySQLMySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作

12、为网站数据库。MongoDBMongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。对象及范围1、开发人员、DBA、测试人员;2、研发主管领导、产品人员;参考资料1、大数据处理体系架构2、HBase The Definitive Guide3、The.Definitive.Guide.3rd.Edi

13、tion.May.20124、Programming_Hive2. 系统总体设计需求规定运行环境操作系统:RedHad Enterprise 5.5软件环境:Java 1.6 Hadoop-1.0.4 HBase-0.94.9 Hive-0.10.0 sqoop-1.4.2 zookeeper-3.4.5 Kettle 4.3 MySQL 5.1硬件环境:8核16G内存PC服务器8台基本设计思路和处理流程1、按照数据分析的实时性,分为在线数据分析和离线数据分析。 2、在线数据分析:往往要求系统在数秒内返回上亿行数据的分析,从而才能达到不影响用户体验的目的。 3、离线数据分析:对大多数反馈时间要

14、求不高的应用,比如离线统计分析、机器学习等,应采用离线分析的方式,通过数据采集工具将日志数据导入专门的分析平台进行分析。4、系统主要以离线数据分析为主,采用目前在互联网业界流行的hadoop体系结构对大批量的数据进行运算,采用hadoop集群的方式对大数据进行运算。5、数据运算平台以调度为主线,作为运算平台的核心控制系统,对运算平台的各个环节进行控制,且对运算过程中的步骤依赖关系进行控制,同时对各个环节进行监控,通过监控异常报警来提高系统的稳定性和异常响应速度。系统结构大数据运算系统架构图 统计、分析数据存储,数据接口MongoDB、MySql大数据平台系统功能图系统功能图逻辑说明1) 生产系

15、统的源数据通过sqoop,flume,Kettle等获取后保存在Kafka消息队列中或者保存到hadoop的hdfs系统中。2) 调度系统负责自身的控制功能,通过读取调度控制的配置信息调用驱动代理程序处理相关的运算功能。3) 驱动代理程序负责所有基于运算平台的相关组件的驱动任务,读取调度系统传递过来的模版信息,读取模版信息,并执行相应的驱动操作。4) 系统管理功能部分完成系统相关配置,管理等相关信息的维护操作。5) 监控系统对整个系统的运行状况进行监控,由各个业务子系统按照监控系统的要求实现相应的监控功能。大数据平台功能结构图大数据平台功能结构图说明:1)大数据平台功能结构主要划分为计算平台,

16、应用平台,系统管理以及监控,配置等相关应用功能。2)计算平台分为基础运算部分,模版管理部分,驱动代理部分,系统调度部分。3)计算平台分为离线计算与实时计算两种形式。4)计算平台基于模版的功能开发,实际应用中做到模版的热插拔,对于功能需求只需要开发相应的模版,并部署上计算平台即可应用。5)驱动代理程序管理所有的基于大数据运算的相关组件的代理功能,对外提供给调度系统应用,调用模版设置的相应的类型,进行相应类型的驱动操作。6)调度系统只关心其自身的系统控制能力,不参与具体的业务以及计算功能组件的调用。尚未解决的问题无3. 模块/功能设计调度模块设计思路一:调度模块实现功能思路 二:流程说明以及注意事

17、项:1、 任务与步骤采用配置表的方式保存在mysql中,调度程序定时扫描任务表,判断是否有启动的任务,如果有启动的任务,则启动任务。2、 调度任务需要判断任务中步骤之间的依赖关系,根据依赖关系判断是否可以执行下一步的执行步骤。3、 一个任务中可以包含多个步骤,每个步骤为一个具体的任务,步骤与步骤直接存在依赖关系。4、 对于具体的执行任务将由驱动代理自动完成。流程图处理逻辑1、调度任务启动后扫描任务配置表,看任务配置表是否存在需要处理的任务信息,如果不存在需要处理的任务信息,则线程执行休眠,否则执行步骤2;2、生成数据日期,并检查任务依赖关系,如果依赖关系未执行完,则现成等待操作,等待依赖的任务

18、执行完成,如果依赖关系都执行完,则获取符合条件的任务,执行步骤3:3、读取任务信息表,获取任务信息,根据任务信息读取步骤信息,执行相应的步骤操作,执行步骤4;4、根据步骤信息的配置获取需要执行的相应的模版信息,调用驱动代理程序执行相应的功能,执行步骤5;5、驱动代理程序执行模版初始化,初始化完成后获取相应的参数数据,并根据模版类型选择具体的驱动程序,执行相应的操作。6、判断该任务的下步骤是否执行完成,如果未执行完成,则执行步骤3,继续下一个步骤的执行,否则执行步骤7;7、写步骤完成信息表,判断是否还存在要执行的任务,如果没有等待,存在需要执行的任务则执行步骤3.驱动代理模块设计思路一:计算驱动

19、模块实现功能思路二:流程说明以及注意事项:1、计算平台的驱动提供针对Hive,MapReduce,Hbase等相关的驱动应用。2、基于业务模版的设置操作,调度执行业务模版,不关心模版具体业务形态。3、一个驱动应用包含四个步骤:1)删除不用的数据;2)加载数据;3)运算;4)导出结果文件。4、提供监控需要的相应信息。5、对于文件的操作,会涉及到多个文件或者目录操作,多个文件或者目录以逗号分隔,对文件操作中涉及到一些按照小时,天,月份的文件命名的操作,配置中以特殊字符进行替换。流程图处理逻辑1、由调度程序驱动代理模块,调用驱动代理模块的驱动应用,传递需要驱动的模版编号,处理时间范围等相关信息,执行

20、流程2;2、驱动程序首先查询是否存在该模版,如果不存在模版,、则执行流程3,否则执行流程4;3、则直接返回任务失败信息,不存在相关的模版,整个流程结束;4、如果查询到相关的模版信息,先执行初始化模版信息以及需要删除的中间文件,多个文件以逗号分割,如果为空则表示不需要清理中间文件,执行流程5;5、清理hive表数据操作,多个hive语句以逗号分割,如果为空则表示不需要进行分割,执行流程66、判断该操作是hive驱动mapreduce还是自定义的mapreduce,如果是自定义的mapreduce则走自定义的mapreduce操作,执行流程7,否则如果是hive驱动的mapreduce,则走hiv

21、e操作流程,否则执行流程8;7、如果mapreduce的操作流程,第一步执行加载文本文件数据,多个文本文件以逗号进行分割,第二步执行mapreduce操作,通过shell脚本的方式执行mapreduce操作,第三步执行完后将结果输出。8、如果是hive的操作流程,第一步先执行加载文本文件到hive表,如果有多个文件操作一逗号分割,第二步执行hive语句,多个hive语句以逗号分割的方式,第三步将结果输出到相应的hive表中。9、根据设置导出的方式,将结果文件导出到mysql,或者mongodb,或者直接将文本文件从hdfs文件系统中导出。对操作系统/应用程序监控流程处理流程图处理逻辑1、读取监

22、控服务器列表,判断是否需要监控,如果需要监控,则执行步骤2,如果不需要监控,执行步骤5;2、监控模块向监控服务器发送监控请求,等到被监控服务器的返回,执行步骤3;3、被监控服务器接收到请求监控信息后,将相关的信息返回给监控模块,执行步骤4;4、监控服务器将返回的数据进行解析后入库,执行步骤5;5、判断被监控服务器是否都请求完成,如果请求完成,则执行步骤6,否则执行步骤1;6、监控模块线程休眠10分钟,等待下次进行监控,执行步骤1.监控报警模块设计思路一:监控模块实现功能思路 二:流程说明以及注意事项: 1、监控报警模块主要完成三个级别的监控报警,分为: 1)操作系统级别,检测运行的机器的操作系

23、统是否正常运行,CPU,内存,I/O,存储等资源的利用情况,采用Linux的Shell脚本对相关的信息进行收集并上报; 2)应用程序级别监控,检测kettle,hadoop,hive,hbase,zookeeper等相关程序是否正常启动,以及应用程序的相关资源的监控。 3)程序数据级别的监控,对数据情况进行监控,主要是数据异常的监控。2、监控模块主要负责监控数据的采集,数据异常报警,以及后期的监控数据展示等功能。3、对于系统级别和应用程序级别的监控数据采集采用由监控模块主动调用相应的应用接口的方式采集数据,对于应用数据级别的监控则由各个应用将相关的数据写入到数据库表,由监控系统对其进行扫描。4

24、、监控模块的报警机制支持优先级报警模式,对于优先级较高,需要紧急处理的报警,需要不间断的进行报警,但需要设置报警的频率,如10分钟重复一次。5、监控的报警模式采用邮件监控的方式,辅助以短信提醒的方式。流程图处理逻辑1、监控报警启动采用启动启动的方式进行,当监控报警线程启动后判断是否到达监控时间点,如果未到达监控时间点,则线程休眠1分钟后再次进行判断,如果到达监控时间点则执行步骤2。2、读取需要监控任务列表,得到需要监控的任务,执行步骤3。3、对监控任务的源数据进行扫描,判断是否存在异常,如果存在异常则保存监控异常数据,执行步骤4,否则执行步骤1。4、判断监控列表是否都执行完,如果执行完,对于异

25、常情况以邮件的方式通知相关人,否则执行步骤3。4. 系统数据结构设计数据实体关系图详细图例见附件数据逻辑结构调度任务表字段说明数据类型是否为空主键备注TaskId 任务ID int否是主键,自增长IDTaskName 任务名称Varchar(255)否TaskDesc 任务描述Varchar(500)是Priority优先级int是数值110值越大优先级越高,默认5 CycleType 周期类型int否0.执行一次1.分钟 2.小时 3.天 4.月Interval频次间隔Int是整数PlanRunTime预期执行时长Int是单位:分钟LastRunDate最后执行日期int否20130101S

26、tatus 任务状态int否0.正常 1.暂停CreateUser创建人Varchar(255)否CreateTime创建时间date否ModifyUser修改人Varchar(255)是ModifyTime修改时间date是调度步骤表字段说明数据类型是否为空主键备注StepId 步骤ID int否是主键,自增长ID TaskId任务IDint否“任务表”主键StepSort执行顺序int否相同则表示并行StepName步骤名称Varchar(255)否TemplateID模板IDInt否PlanRunTime预期执行时长Int是单位:分钟CreateUser创建人Varchar(255)否C

27、reateTime创建时间date否ModifyUser修改人Varchar(255)是ModifyTime修改时间date是调度任务依赖表字段说明数据类型是否为空主键备注TaskId任务IDint否FatherId父任务IDint否调度任务运行日志表字段说明数据类型是否为空主键备注SerialId 记录ID Int否是主键,自增长IDTaskDate 任务日期Int否TaskId 任务ID Int否“任务表”主键Status任务状态Int否0.初始化1执行中2.已完成 -99.执行错误RetryTimes重试次数IntBeginTime 开始执行时间Date是EndTime 结束执行时间Da

28、te是CreateTime创建时间Date否ModifyTime修改时间Date是调度步骤运行日志表字段说明数据类型是否为空主键备注SerialId 记录ID Int否是主键,自增长IDTaskDate步骤日期Int否TaskId 任务ID Int否“任务表”主键StepId 步骤ID Int否“步骤表”主键StepSort步骤序号int否Status 步骤状态Int否0.初始化 1.执行中 2.已完成 -99.执行错误RetryTimes重试次数IntBeginTime 开始执行时间Date是EndTime 结束执行时间Date是CreateTime创建时间Date否ModifyTime修改时间Date是调度步骤运行错误日志表字段说明数据类型是否为空主键备注SerialId记录ID Int否是主键,自增长IDTaskDate任务日期Int否TaskId 任务ID Int否StepId 步骤ID Int否ErrorInfo错误信息Varchar(4000)否InsertTime记录时间Date是系统资源表字段说明数据类型是否为空主键备注ResourceId资源ID Int否是主键,自

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1