logo资料库

大数据平台概要设计说明书.doc

第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
资料共31页,剩余部分请下载后查看
1.引言
1.1编写目的
1.2术语与缩略词
1.3对象及范围
1.4参考资料
2.系统总体设计
2.1需求规定
2.2运行环境
2.3基本设计思路和处理流程
2.4系统结构
2.4.1大数据运算系统架构图
2.4.2大数据平台系统功能图
2.4.3大数据平台功能结构图
2.5尚未解决的问题
3.模块/功能设计
3.1调度模块
3.1.1设计思路
3.1.2流程图
3.1.3处理逻辑
3.2驱动代理模块
3.2.1设计思路
3.2.2流程图
3.2.3处理逻辑
3.3对操作系统/应用程序监控流程
3.3.1处理流程图
3.3.2处理逻辑
3.4监控报警模块
3.4.1设计思路
3.4.2流程图
3.4.3处理逻辑
4.系统数据结构设计
4.1数据实体关系图
4.2数据逻辑结构
4.2.1调度任务表
4.2.2调度步骤表
4.2.3调度任务依赖表
4.2.4调度任务运行日志表
4.2.5调度步骤运行日志表
4.2.6调度步骤运行错误日志表
4.2.7系统资源表
4.2.8服务器机器表
4.2.9服务器信息表
4.2.10系统管理信息表
4.2.11集群信息表
4.2.12集群列表
4.2.13系统配置表
4.2.14Hadoop参数配置表
4.2.15Jar配置表
4.2.16系统用户名表
4.2.17模版信息表
4.2.18模版参数表
4.2.19实例信息表
4.3数据物理结构
5.安全设计
6.容错设计
6.1挽救措施
6.2系统维护设计
7.日志设计
计算平台 概要设计说明书 文件编号 受控编号 版次 总页数 1.0 42 密级 附录 内部公开 作者: 刘华全 日期: 2013-01-28 批准: 审核: 日期: 日期: (版权所有,翻版必究)
概要设计说明书 文件修改记录 修改日期 修改状态 修改页码及条款 修改人 审核人 批准人 2013-01-28 新建 刘华全 内部公开 第 2 页 共 31 页
概要设计说明书 目 录 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 1. 引言............................................................................................. 5 1.1 编写目的 ........................................................................................................................ 5 1.2 术语与缩略词 ................................................................................................................ 6 1.3 对象及范围 .................................................................................................................... 8 1.4 参考资料 ........................................................................................................................ 9 2. 系统总体设计...............................................................................9 2.1 需求规定 ........................................................................................................................ 9 数据导入 ..........................................................................错误!未定义书签。 数据运算 ..........................................................................错误!未定义书签。 运算结果导出 ..................................................................错误!未定义书签。 系统监控 ..........................................................................错误!未定义书签。 调度功能 ..........................................................................错误!未定义书签。 自动化安装部署与维护 ................................................. 错误!未定义书签。 2.2 运行环境 ........................................................................................................................ 9 2.3 基本设计思路和处理流程 ............................................................................................9 2.4 系统结构 ...................................................................................................................... 10 大数据运算系统架构图 ..................................................................................10 hadoop 体系各组件之间关系图 .................................... 错误!未定义书签。 计算平台系统功能图......................................................................................11 系统功能图逻辑说明......................................................................................11 计算平台业务流程图..................................................... 错误!未定义书签。 2.5 尚未解决的问题 ..........................................................................................................12 3. 模块/功能设计...........................................................................12 3.1 计算驱动模块 .............................................................................................................. 15 设计思路 ..........................................................................................................15 流程图.............................................................................................................. 17 处理逻辑 ..........................................................................................................18 3.2 调度模块 ...................................................................................................................... 13 设计思路 ..........................................................................................................13 流程图.............................................................................................................. 14 处理逻辑 ..........................................................................................................14 3.3 自动化安装部署模块 ..................................................................错误!未定义书签。 设计思路 ..........................................................................错误!未定义书签。 处理逻辑 ..........................................................................错误!未定义书签。 3.4 调度模块与计算驱动模块交互流程 ......................................... 错误!未定义书签。 处理流程图......................................................................错误!未定义书签。 处理逻辑 ..........................................................................错误!未定义书签。 hadoop 驱动模块调用驱动接口 .................................... 错误!未定义书签。 调度模块接收 hadoop 执行状态接口 ........................... 错误!未定义书签。 3.1.1 3.1.2 3.1.3 3.2.1 3.2.2 3.2.3 3.3.1 3.3.2 3.4.1 3.4.2 3.4.3 3.4.4 内部公开 第 3 页 共 31 页
概要设计说明书 3.6.1 3.6.2 3.7.1 3.7.2 3.8.1 3.8.2 3.5.1 3.5.2 3.9.1 3.9.2 3.9.3 3.5 调度模块与 kettle 交互流程 .......................................................错误!未定义书签。 处理流程图......................................................................错误!未定义书签。 处理逻辑 ..........................................................................错误!未定义书签。 3.6 对调度任务运行过程进行监控流程 ......................................... 错误!未定义书签。 处理流程图......................................................................错误!未定义书签。 处理逻辑 ..........................................................................错误!未定义书签。 3.7 对 hadoop 驱动任务运行过程进行监控流程 ........................... 错误!未定义书签。 处理流程图......................................................................错误!未定义书签。 处理逻辑 ..........................................................................错误!未定义书签。 3.8 对操作系统/应用程序监控流程 .................................................................................19 处理流程图......................................................................................................19 处理逻辑 ..........................................................................................................19 3.9 监控报警模块 .............................................................................................................. 20 设计思路 ..........................................................................................................20 流程图.............................................................................................................. 21 处理逻辑 ..........................................................................................................21 4. 系统数据结构设计..................................................................... 22 4.1 数据实体关系图 ..........................................................................................................22 4.2 数据逻辑结构 .............................................................................................................. 22 驱动任务设置表............................................................. 错误!未定义书签。 4.2.1 驱动设置表......................................................................错误!未定义书签。 4.2.2 驱动任务执行明细表..................................................... 错误!未定义书签。 4.2.3 调度任务表......................................................................错误!未定义书签。 4.2.4 调度步骤表......................................................................................................23 4.2.5 调度步骤执行记录表......................................................................................24 4.2.6 操作系统监控数据表..................................................... 错误!未定义书签。 4.2.7 应用程序监控数据表..................................................... 错误!未定义书签。 4.2.8 4.2.9 监控系统配置表............................................................. 错误!未定义书签。 4.2.10 业务数据记录表............................................................. 错误!未定义书签。 4.3 数据物理结构 .............................................................................................................. 31 5. 安全设计....................................................................................31 6. 容错设计....................................................................................31 6.1 挽救措施 ...................................................................................................................... 31 6.2 系统维护设计 .............................................................................................................. 31 7. 日志设计....................................................................................31 内部公开 第 4 页 共 31 页
概要设计说明书 1. 引言 1.1编写目的 大数据泛指巨量的数据集,因可从中挖掘出有价值的信息而受到重视。《华尔街日报》 将大数据时代、智能化生产和无线网络革命称为引领未来繁荣的三大技术变革。麦肯锡公司 的报告指出数据是一种生产资料,大数据是下一个创新、竞争、生产力提高的前沿。世界经 济论坛的报告认定大数据为新财富,价值堪比石油。因此,发达国家纷纷将开发利用大数据 作为夺取新一轮竞争制高点的重要抓手。 互联网特别是移动互联网的发展,加快了信息化向社会经济各方面、大众日常生活的 渗透。有资料显示,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 等于 1000GB),存储量 40PB(1PB 等于 1000TB)。百 度公司目前数据总量接近 1000PB,存储网页数量接近 1 万亿页,每天大约要处理 60 亿次搜 索请求,几十 PB 数据。一个 8Mbps(兆比特每秒)的摄像头一小时能产生 3.6GB 数据,一 个城市若安装几十万个交通和安防摄像头,每月产生的数据量将达几十 PB。医院也是数据 产生集中的地方。现在,一个病人的 CT 影像数据量达几十 GB,而全国每年门诊人数以数 十亿计,并且他们的信息需要长时间保存。总之,大数据存在于各行各业,一个大数据时代 正在到来。 信息爆炸不自今日起,但近年来人们更加感受到大数据的来势迅猛。一方面,网民数量 不断增加,另一方面,以物联网和家电为代表的联网设备数量增长更快。2007 年全球有 5 亿个设备联网,人均 0.1 个;2013 年全球将有 500 亿个设备联网,人均 70 个。随着宽带化 的发展,人均网络接入带宽和流量也迅速提升。全球新产生数据年增 40%,即信息总量每 两年就可以翻番,这一趋势还将持续。目前,单一数据集容量超过几十 TB 甚至数 PB 已不 罕见,其规模大到无法在容许的时间内用常规软件工具对其内容进行抓取、管理和处理。 数据规模越大,处理的难度也越大,但对其进行挖掘可能得到的价值更大,这就是大数 内部公开 第 5 页 共 31 页
概要设计说明书 据热的原因。鉴于越来越大的数据规模,采用常规基于 DBMS 的数据分析工具和方法已经 无法满足大规模数据分析的需求,目前一些大型互联网公司采用 hadoop 体系进行大规模数 据的运算,结合 hadoop 体系结构与实际的运算需求结合,采用 hadoop 体系结构的分布式 运算模型,通过集群的方式实现大数据运算,为企业提供大数据的价值。 为适应大数据计算的要求,同时提供大数据运算平台的系统设计的依据,特制定计算平 台的系统概要设计文档,为后期的系统详细设计和实现提供依据。 1.2术语与缩略词 下列术语、定义和缩略语适用于本标准: 术语与缩略词 解 释 备 注 Namenode HDFS 采 用 master/slave 架 构 。 一 个 HDFS 集 群 是 由 一 个 Namenode 和一定数目的 Datanodes 组成。Namenode 是一个 中心服务器,负责管理文件系统的名字空间(namespace)以及客 户端对文件的访问。Namenode 执行文件系统的名字空间操作, 比如打开、关闭、重命名文件或目录。它也负责确定数据块到具体 Datanode 节点的映射 Datanode 集群中的 Datanode 一般是一个节点一个,负责管理它所在节点 上的存储。HDFS 暴露了文件系统的名字空间,用户能够以文件 的形式在上面存储数据。从内部看,一个文件其实被分成一个 或多个数据块,这些块存储在一组 Datanode 上。Datanode 负责 处理文件系统客户端的读写请求。在 Namenode 的统一调度下进 行数据块的创建、删除和复制 Secondnamenode 光从字面上来理解,很容易让一些初学者先入为主的认为: SecondaryNameNode(snn)就是 NameNode(nn)的热备进程。 其实不是。snn 是 HDFS 架构中的一个组成部分,但是经常由于 名字而被人误解它真正的用途,其实它真正的用途,是用来保 存 namenode 中 对 HDFS metadata 的 信 息 的 备 份 , 并 减 少 内部公开 第 6 页 共 31 页
namenode 重启的时间 Jobtracker JobTracker 是 MapReduce 框架中最主要的类之一,所有 job 的 概要设计说明书 执行都由它来调度,而且 Hadoop 系统中只配置一个 JobTracker 应用。 它们都是由一个 master 服务 JobTracker 和多个运行 于多个节点的 slaver 服务 TaskTracker 两个类提供的服务调度 的。 master 负责调度 job 的每一个子任务 task 运行于 slave 上,并监控它们,如果发现有失败的 task 就重新运行它,slave 则负责直接执行每一个 task TaskTracker TaskTracker都需要运行在HDFS的DataNode上,而JobTracker则 不需要,一般情况应该把JobTracker 部署在单独的机器上 HBase HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Chang et al 所撰写的 Google 论文“Bigtable:一个结构化数据的分布式存储系 统”。就像 Bigtable 利用了 Google 文件系统(File System)所提供的分 布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能 力。HBase 是 Apache 的 Hadoop 项目的子项目。HBase 不同于一般的 关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不 同的是 HBase 基于列的而不是基于行的模式。 Hive hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映 射为一张数据库表,并提供完整的 sql 查询功能,可以将 sql 语句转 换为 MapReduce 任务进行运行。 其优点是学习成本低,可以通过类 SQL 语句快速实现简单的 MapReduce 统计,不必开发专门的 MapReduce 应用,十分适合数据仓库的统计分析。 Storm Storm 为分布式实时计算提供了一组通用原语,可被用于“流 处理”之中,实时处理消息并更新数据库。这是管理队列及 工作 者集 群的另 一种 方式。 Storm 也可 被用 于“连续 计算” (continuous computation), 对数 据 流 做连 续 查询 , 在 计算 时就将结果以流的形式输出给用户。它还可被用于“分布式 RPC”,以并行的方式运行昂贵的运算。 Flume Flume 是 Cloudera 提供的一个高可用的,高可靠 内部公开 第 7 页 共 31 页
概要设计说明书 的,分布式的海量日志采集、聚合和传输的系统, Flume 支持在日志系统中定制各类数据发送方,用于 收集数据;同时,Flume 提供对数据进行简单处理, 并写到各种数据接受方(可定制)的能力。 ETL ETL 是 数 据 抽 取 ( Extract )、 清 洗 ( Cleaning )、 转 换 (Transform)、装载(Load)的过程。是构建数据仓库的重 要一环,用户从数据源抽取出所需的数据,经过数据清洗, 最终按照预先定义好的数据仓库模型,将数据加载到数据仓 库中去。 Kettle Kettle 是一 款国外 开源的 ETL 工具 ,纯 java 编写 ,可以 在 Window、Linux、Unix 上运行,绿色无需安装,数据抽取高 效稳定。 MySQL MySQL 是 一 个 开 放 源 码 的 小 型 关 联 式 数 据 库 管 理 系 统,开发者为瑞典 MySQL AB 公司。目前 MySQL 被广泛地 应用在 Internet 上的中小型网站中。由于其体积小、速度快、 总体拥有成本低,尤其是开放源码这一特点,许多中小型网 站为了降低网站总体拥有成本而选择了 MySQL 作为网站数 据库。 MongoDB MongoDB 是一个介于关系数据库和非关系数据库之间的产 品,是非关系数据库当中功能最丰富,最像关系数据库的。 他支持的数据结构非常松散,是类似 json 的 bson 格式,因 此可以存储比较复杂的数据类型。Mongo 最大的特点是他支 持的查询语言非常强大,其语法有点类似于面向对象的查询 语言,几乎可以实现类似关系数据库单表查询的绝大部分功 能,而且还支持对数据建立索引。 1.3对象及范围 1、开发人员、DBA、测试人员; 内部公开 第 8 页 共 31 页
分享到:
收藏