大数据平台设计说明书.docx
《大数据平台设计说明书.docx》由会员分享,可在线阅读,更多相关《大数据平台设计说明书.docx(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算平台概要设计说明书文件编号受控编号版次1.0密级内部公开总页数42附录 刘华全 日期: 2013-01-28 日期: 日期: (版权所有,翻版必究)文件修改记录修改日期修改状态修改页码及条款修改人审核人批准人2013-01-28新建刘华全目 录1.引言5编写目5术语及缩略词6对象及范围8参考资料92.系统总体设计9需求规定9数据导入9数据运算9运算结果导出10系统监控10调度功能11自动化安装部署及维护11运行环境12基本设计思路和处理流程13系统结构14大数据运算系统架构图14hadoop体系各组件之间关系图14计算平台系统功能图15系统功能图逻辑说明16计算平台业务流程图16尚未解决问
2、题173.模块/功能设计17计算驱动模块17设计思路17流程图19处理逻辑20调度模块20设计思路20流程图22处理逻辑23自动化安装部署模块23设计思路23处理逻辑23调度模块及计算驱动模块交互流程24处理流程图24处理逻辑24hadoop驱动模块调用驱动接口25调度模块接收hadoop执行状态接口25调度模块及kettle交互流程26处理流程图26处理逻辑27对调度任务运行过程进行监控流程27处理流程图27处理逻辑27对hadoop驱动任务运行过程进行监控流程28处理流程图28处理逻辑28对操作系统/应用程序监控流程29处理流程图29处理逻辑29监控报警模块30设计思路30流程图31处理逻
3、辑314.系统数据结构设计32数据实体关系图32数据逻辑结构32驱动任务设置表32驱动设置表33驱动任务执行明细表34调度任务表34调度步骤表35调度步骤执行记录表36操作系统监控数据表37应用程序监控数据表38监控系统配置表38业务数据记录表39数据物理结构395.安全设计396.容错设计40挽救措施40系统维护设计407.日志设计401. 引言1.1 编写目 大数据泛指巨量数据集,因可从中挖掘出有价值信息而受到重视。华尔街日报将大数据时代、智能化生产与无线网络革命称为引领未来繁荣三大技术变革。麦肯锡公司报告指出数据是一种生产资料,大数据是下一个创新、竞争、生产力提高前沿。世界经济论坛报告认
4、定大数据为新财富,价值堪比石油。因此,发达国家纷纷将开发利用大数据作为夺取新一轮竞争制高点重要抓手。 互联网特别是移动互联网发展,加快了信息化向社会经济各方面、大众日常生活渗透。有资料显示,1998年全球网民平均每月使用流量是1MB(兆字节),2000年是10MB,2003年是100MB,2008年是1GB(1GB等于1024MB),2014年将是10GB。全网流量累计达到1EB(即10亿GB或1000PB)时间在2001年是一年,在2004年是一个月,在2007年是一周,而2013年仅需一天,即一天产生信息量可刻满亿张DVD光盘。我国网民数居世界之首,每天产生数据量也位于世界前列。淘宝网站每
5、天有超过数千万笔交易,单日数据产生量超过50TB(1TB等于1000GB),存储量40PB(1PB等于1000TB)。百度公司目前数据总量接近1000PB,存储网页数量接近1万亿页,每天大约要处理60亿次搜索请求,几十PB数据。一个8Mbps(兆比特每秒)摄像头一小时能产生数据,一个城市若安装几十万个交通与安防摄像头,每月产生数据量将达几十PB。医院也是数据产生集中地方。现在,一个病人CT影像数据量达几十GB,而全国每年门诊人数以数十亿计,并且他们信息需要长时间保存。总之,大数据存在于各行各业,一个大数据时代正在到来。信息爆炸不自今日起,但近年来人们更加感受到大数据来势迅猛。一方面,网民数量不
6、断增加,另一方面,以物联网与家电为代表联网设备数量增长更快。2007年全球有5亿个设备联网,人均个;2013年全球将有500亿个设备联网,人均70个。随着宽带化发展,人均网络接入带宽与流量也迅速提升。全球新产生数据年增40%,即信息总量每两年就可以翻番,这一趋势还将持续。目前,单一数据集容量超过几十TB甚至数PB已不罕见,其规模大到无法在容许时间内用常规软件工具对其内容进行抓取、管理与处理。数据规模越大,处理难度也越大,但对其进行挖掘可能得到价值更大,这就是大数据热原因。鉴于越来越大数据规模,采用常规基于DBMS数据分析工具与方法已经无法满足大规模数据分析需求,目前一些大型互联网公司采用had
7、oop体系进行大规模数据运算,结合hadoop体系结构及实际运算需求结合,采用hadoop 体系结构分布式运算模型,通过集群方式实现大数据运算,为企业提供大数据价值。 为适应大数据计算要求,同时提供大数据运算平台系统设计依据,特制定计算平台系统概要设计文档,为后期系统详细设计与实现提供依据。1.2 术语及缩略词 下列术语、定义与缩略语适用于本标准:术语及缩略词解 释备 注NamenodeHDFS采用master/slave架构。一个HDFS集群是由一个Namenode与一定数目Datanodes组成。Namenode是一个中心服务器,负责管理文件系统名字空间(namespace)以及客户端对文
8、件访问。Namenode执行文件系统名字空间操作,比如打开、关闭、重命名文件或目录。它也负责确定数据块到具体Datanode节点映射Datanode集群中Datanode一般是一个节点一个,负责管理它所在节点上存储。HDFS暴露了文件系统名字空间,用户能够以文件形式在上面存储数据。从内部看,一个文件其实被分成一个或多个数据块,这些块存储在一组Datanode上。Datanode负责处理文件系统客户端读写请求。在Namenode统一调度下进行数据块创建、删除与复制Secondnamenode光从字面上来理解,很容易让一些初学者先入为主认为:SecondaryNameNode(snn)就是Name
9、Node(nn)热备进程。其实不是。snn是HDFS架构中一个组成部分,但是经常由于名字而被人误解它真正用途,其实它真正用途,是用来保存namenode中对HDFS metadata信息备份,并减少namenode重启时间JobtrackerJobTracker是MapReduce框架中最主要类之一,所有job执行都由它来调度,而且Hadoop系统中只配置一个JobTracker 应用。它们都是由一个master服务JobTracker与多个运行于多个节点slaver服务TaskTracker两个类提供服务调度。 master负责调度job每一个子任务task运行于slave上,并监控它们,如
10、果发现有失败task就重新运行它,slave则负责直接执行每一个taskTaskTrackerTaskTracker都需要运行在HDFSDataNode上,而JobTracker则不需要,一般情况应该把JobTracker 部署在单独机器上HBaseHBase是一个分布式、面向列开源数据库,该技术来源于Chang et al所撰写Google论文“Bigtable:一个结构化数据分布式存储系统”。就像Bigtable利用了Google文件系统()所提供分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable能力。HBase是ApacheHadoop项目子项目。HBase不同
11、于一般关系数据库,它是一个适合于非结构化数据存储数据库。另一个不同是HBase基于列而不是基于行模式。Hivehive是基于Hadoop一个数据仓库工具,可以将结构化数据文件映射为一张数据库表,并提供完整sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单MapReduce统计,不必开发专门MapReduce应用,十分适合数据仓库统计分析。 StormStorm为分布式实时计算提供了一组通用原语,可被用于“流处理”之中,实时处理消息并更新数据库。这是管理队列及工作者集群另一种方式。 Storm也可被用于“连续计算”(con
12、tinuous computation),对数据流做连续查询,在计算时就将结果以流形式输出给用户。它还可被用于“分布式RPC”,以并行方式运行昂贵运算。FlumeFlume是Cloudera提供一个高可用,高可靠,分布式海量日志采集、聚合与传输系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)能力。ETLETL是数据抽取(Extract)、清洗(Cleaning)、转换(Transform)、装载(Load)过程。是构建数据仓库重要一环,用户从数据源抽取出所需数据,经过数据清洗,最终按照预先定义好数据仓库模型
13、,将数据加载到数据仓库中去。KettleKettle是一款国外开源ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。MySQLMySQL是一个开放源码小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MongoDBMongoDB是一个介于关系数据库与非关系数据库之间产品,是非关系数据库当中功能最丰富,最像关系数据库。他支持数据结构非常松
14、散,是类似jsonbson格式,因此可以存储比较复杂数据类型。Mongo最大特点是他支持查询语言非常强大,其语法有点类似于面向对象查询语言,几乎可以实现类似关系数据库单表查询绝大部分功能,而且还支持对数据建立索引。1.3 对象及范围1、开发人员、DBA、测试人员;2、研发主管领导、产品人员;1.4 参考资料1、大数据处理体系架构2、HBase The Definitive Guide3、4、Programming_Hive2. 系统总体设计2.1 需求规定2.2 运行环境操作系统:软件环境: Hadoop-1.硬件环境:8核16G内存PC服务器8台2.3 基本设计思路与处理流程1、按照数据分析
15、实时性,分为在线数据分析与离线数据分析。 2、在线数据分析:往往要求系统在数秒内返回上亿行数据分析,从而才能达到不影响用户体验目。 3、离线数据分析:对大多数反馈时间要求不高应用,比如离线统计分析、机器学习等,应采用离线分析方式,通过数据采集工具将日志数据导入专门分析平台进行分析。4、系统主要以离线数据分析为主,采用目前在互联网业界流行hadoop体系结构对大批量数据进行运算,采用hadoop集群方式对大数据进行运算。5、数据运算平台以调度为主线,作为运算平台核心控制系统,对运算平台各个环节进行控制,且对运算过程中步骤依赖关系进行控制,同时对各个环节进行监控,通过监控异常报警来提高系统稳定性与
16、异常响应速度。2.4 系统结构2.4.1 大数据运算系统架构图日志存储统计分析数据应用Hadoop(HDFS、HBASE)在线计算: Storm 流计算框架离线计算: Hadoop(Map/Reduce、Hive、pig)日志采集 日志采集系统 Flume数据服务数据提取,报表展现,功能、网页展示 统计、分析数据存储,数据接口MongoDB、MySql2.4.2 大数据平台系统功能图系统功能图逻辑说明1) 生产系统源数据通过sqoop,flume,Kettle等获取后保存在Kafka消息队列中或者保存到hadoophdfs系统中。2) 调度系统负责自身控制功能,通过读取调度控制配置信息调用驱动
17、代理程序处理相关运算功能。3) 驱动代理程序负责所有基于运算平台相关组件驱动任务,读取调度系统传递过来模版信息,读取模版信息,并执行相应驱动操作。4) 系统管理功能部分完成系统相关配置,管理等相关信息维护操作。5) 监控系统对整个系统运行状况进行监控,由各个业务子系统按照监控系统要求实现相应监控功能。2.4.3 大数据平台功能结构图大数据平台功能结构图说明:1)大数据平台功能结构主要划分为计算平台,应用平台,系统管理以及监控,配置等相关应用功能。2)计算平台分为基础运算部分,模版管理部分,驱动代理部分,系统调度部分。3)计算平台分为离线计算及实时计算两种形式。4)计算平台基于模版功能开发,实际
18、应用中做到模版热插拔,对于功能需求只需要开发相应模版,并部署上计算平台即可应用。5)驱动代理程序管理所有基于大数据运算相关组件代理功能,对外提供给调度系统应用,调用模版设置相应类型,进行相应类型驱动操作。6)调度系统只关心其自身系统控制能力,不参及具体业务以及计算功能组件调用。2.5 尚未解决问题无3. 模块/功能设计3.1 调度模块3.1.1 设计思路一:调度模块实现功能思路 二:流程说明以及注意事项:1、 任务及步骤采用配置表方式保存在mysql中,调度程序定时扫描任务表,判断是否有启动任务,如果有启动任务,则启动任务。2、 调度任务需要判断任务中步骤之间依赖关系,根据依赖关系判断是否可以
19、执行下一步执行步骤。3、 一个任务中可以包含多个步骤,每个步骤为一个具体任务,步骤及步骤直接存在依赖关系。4、 对于具体执行任务将由驱动代理自动完成。3.1.2 流程图3.1.3 处理逻辑1、调度任务启动后扫描任务配置表,看任务配置表是否存在需要处理任务信息,如果不存在需要处理任务信息,则线程执行休眠,否则执行步骤2;2、生成数据日期,并检查任务依赖关系,如果依赖关系未执行完,则现成等待操作,等待依赖任务执行完成,如果依赖关系都执行完,则获取符合条件任务,执行步骤3:3、读取任务信息表,获取任务信息,根据任务信息读取步骤信息,执行相应步骤操作,执行步骤4;4、根据步骤信息配置获取需要执行相应模
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 平台 设计 说明书
限制150内