大数据平台概要设计说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算平台
概要设计说明书
文件修改记录
目录
引言
1.1 编写目的
大数据泛指巨量的数据集,因可从中挖掘出有价值的信息而受到重视。《华尔街日报》将大数据时代、智能化生产和无线网络革命称为引领未来繁荣的三大技
,20002014年将是2001年
60亿次搜索请求,几十PB数据。一个8Mbps(兆比特每秒)的摄像头一小时能产生3.6GB数据,一个城市若安装几十万个交通和安防摄像头,每月产生的数据量将达几十PB。医院也是数据产生集中的地方。现在,一个病人的CT影像数据量达几十GB,而全国每年门诊人数以数十亿计,并且他们的信息需要长时间保存。总之,大数据存在于各行各业,一个大数据时代正在到来。
信息爆炸不自今日起,但近年来人们更加感受到大数据的来势迅猛。一方面,网民数量不断增加,另一方面,以物联网和家电为代表的联网设备数量增长更快。2007年全球有5亿个设备联网,人均0.1个;2013年全球将有500亿个设备联网,人均70个。随着宽带化的发展,人均网络接入带宽和流量也迅速提升。全球新产生数据年增40%,即信息总量每两年就可以翻番,这一趋势还
1.2
1.3 对象及范围
1、开发人员、DBA、测试人员;
2、研发主管领导、产品人员;
1.4 参考资料
1、《大数据处理体系架构》
2、《HBaseTheDefinitiveGuide》
3、《》
4、《
2.
2.1
2.2
Kettle4.3
MySQL5.1
硬件环境:8核16G内存PC服务器8台
2.3 基本设计思路和处理流程
1、按照数据分析的实时性,分为在线数据分析和离线数据分析。
2、在线数据分析:往往要求系统在数秒内返回上亿行数据的分析,从而才能达到不影响用户体验的目的。
3、离线数据分析:对大多数反馈时间要求不高的应用,比如离线统计分析、机
4体系5、
2.4 系统结构
大数据运算系统架构图
大数据平台系统功能图
系统功能图逻辑说明 1)
生产系统的源数据通过sqoop ,flume ,Kettle 等获取后保存在Kafka 消
息队列中或者保存到hadoop 的hdfs 系统中。 2)
调度系统负责自身的控制功能,通过读取调度控制的配置信息调用驱动
代理程序处理相关的运算功能。 3)
驱动代理程序负责所有基于运算平台的相关组件的驱动任务,读取调度
系统传递过来的模版信息,读取模版信息,并执行相应的驱动操作。 日志存储
统计分析
数据应
用
Hadoop(HDFS 、HBASE)
在线计算:
Storm 流计算框架 离线计算:
Hadoop(Map/Reduce 、Hive 、pig)
日志采集
日志采集系统Flume
数据服务
数据提取,报表展现,
统计、分析数据存储,数据接口 MongoDB 、MySql
4)系统管理功能部分完成系统相关配置,管理等相关信息的维护操作。5)监控系统对整个系统的运行状况进行监控,由各个业务子系统按照监控系统的要求实现相应的监控功能。
大数据平台功能结构图
大数据平台功能结构图说明:
1)大数据平台功能结构主要划分为计算平台,应用平台,系统管理以及监控,配置等相关应用功能。
2)计算平台分为基础运算部分,模版管理部分,驱动代理部分,系统调度部分。3)计算平台分为离线计算与实时计算两种形式。
4)计算平台基于模版的功能开发,实际应用中做到模版的热插拔,对于功能需求只需要开发相应的模版,并部署上计算平台即可应用。
5)驱动代理程序管理所有的基于大数据运算的相关组件的代理功能,对外提供给调度系统应用,调用模版设置的相应的类型,进行相应类型的驱动操作。6)调度系统只关心其自身的系统控制能力,不参与具体的业务以及计算功能组件的调用。
2.5 尚未解决的问题
无
3.模块/功能设计
3.1调度模块
设计思路
一:调度模块实现功能思路
二:流程说明以及注意事项:
1、任务与步骤采用配置表的方式保存在mysql中,调度程序定时扫描任
务表,判断是否有启动的任务,如果有启动的任务,则启动任务。
2、调度任务需要判断任务中步骤之间的依赖关系,根据依赖关系判断是
否可以执行下一步的执行步骤。
3、一个任务中可以包含多个步骤,每个步骤为一个具体的任务,步骤与
步骤直接存在依赖关系。
4、对于具体的执行任务将由驱动代理自动完成。
流程图
处理逻辑
1、调度任务启动后扫描任务配置表,看任务配置表是否存在需要处理的任务信息,如果不存在需要处理的任务信息,则线程执行休眠,否则执行步骤2;
2、生成数据日期,并检查任务依赖关系,如果依赖关系未执行完,则现成等待操作,等待依赖的任务执行完成,如果依赖关系都执行完,则获取符合条件的任务,执行步骤3:
3、读取任务信息表,获取任务信息,根据任务信息读取步骤信息,执行相应的
步骤操作,执行步骤4;
4、根据步骤信息的配置获取需要执行的相应的模版信息,调用驱动代理程序执行相应的功能,执行步骤5;
5、驱动代理程序执行模版初始化,初始化完成后获取相应的参数数据,并根据模版类型选择具体的驱动程序,执行相应的操作。
6、判断该任务的下步骤是否执行完成,如果未执行完成,则执行步骤3,继续下一个步骤的执行,否则执行步骤7;
7、写步骤完成信息表,判断是否还存在要执行的任务,如果没有等待,存在需要执行的任务则执行步骤3.
3.2驱动代理模块
设计思路
一:计算驱动模块实现功能思路
二:流程说明以及注意事项:
1、计算平台的驱动提供针对Hive,MapReduce,Hbase等相关的驱动应用。
2、基于业务模版的设置操作,调度执行业务模版,不关心模版具体业务形态。
3、一个驱动应用包含四个步骤:1)删除不用的数据;2)加载数据;3)运算;4)导出结果文件。
4、提供监控需要的相应信息。
5、对于文件的操作,会涉及到多个文件或者目录操作,多个文件或者目录以逗号分隔,对文件操作中涉及到一些按照小时,天,月份的文件命名的操作,配置中以特殊字符进行替换。