1、 毕 业 设 计(论 文)基于 Hadoop 的电子商务数据存储架构的研究与设计院 系: 经济与管理学院 物流电子商务系 专 业: 电子商务 班 级: 学生姓名: 导师姓名: 职称: 讲师 起止时间:2014 年 12 月 20 日至 2015 年 06 月 20 日 毕业设计(论文)诚信声明书本人声明:本人所提交的毕业论文 基于 Hadoop 的电子商务数据存储架构的研究与设计是本人在指导教师指导下独立研究、写作的成果,论文中所引用他人的文献、数据、图件、资料均已明确标注;对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明并表示感谢。本人完全清楚本声明的法律后果,申请学位论文和资
2、料若有不实之处,本人愿承担相应的法律责任。论文作者签名: 时间: 年 月 日指导教师签名: 时间: 年 月 日本科毕业设计(论文)开题报告学号 姓名 导师 题目 基于 Hadoop 的电子商务数据存储架构的研究与设计选题目的(为什么选该课题) 电子商务网站每日交易量巨大,传统的数据库已经无法满足对海量数据实时统计、查询、分析的要求,为了能够对电子商务网站中的商业数据进行挖掘、分析,找到有价值的数据,需要能够处理海量数据的数据库技术。现今电子商务网站数据的重要发展方向是大数据,而大数据的主要实现方式之一就是通过 Hadoop 技术来实现。所以电子商务数据和 Hadoop 技术密切相关。前期基础(
3、已学课程、掌握的工具,资料积累、软硬件条件等)已学课程:电子商务基础知识、JavaEE、管理信息系统掌握工具:Java 开发工具 Eclipse资料积累:Hadoop 相关理论及技术软硬件条件:三台服务器(一台作为 namenode,两台作为 datanode),实验室内部局域网,操作系统 Linux,分布式文件系统 Hadoop要解决的问题(做什么)如何建立合理的分布式文件系统来存储电子商务网站数据,实现对海量数据的实时统计、查询、分析,以帮助企业找到有价值的数据。工作思路和方案(怎么做)1、对课题研究的项目背景、技术背景、国内外研究现状进行分析,2、研究分布式文件系统的关键技术,包括目前现
4、有的分布式存储架构和关键算法。3、掌握分布式文件系统 HDFS 和并行编程 MapReduce。针对电子商务数据存储,分析Hadoop 架构的不足,给出改进方案并实现。4、通过 VMware、Linux 操作系统、Hadoop,建立分布式文件系统。5、通过 Java 语言,以及 Hadoop 相关技术,实现对海量数据的存储、挖掘、查询、分析。6、通过 Mahout 进行数据挖掘,寻找有价值的数据。指导教师意见签字 年 月 日目 录摘 要 .IAbstract.II1 绪论 .11.1 研究背景 .11.2 研究意义及研究内容 .21.3 论文结构 .22 分布式系统关键技术 .32.1 分布式
5、系统模型简介 .32.1.1 Google 的 GFS .32.1.2 Apache 的 Hadoop .42.1.3 淘宝的 TFS.42.2 分布式系统基本算法 .52.2.1 分布式存储算法 .52.2.2 分布式处理算法 .82.3 本章小结 .93 Hadoop开源云计算系统 .103.1 Hadoop 介绍 .103.2 Hadoop 关键技术 .103.2.1 MapReduce .103.2.2 下一代 MapReduce:YARN.113.2.3 HDFS .123.2.4 Hive .133.2.5 HBase .143.3 本章小结 .154 非结构化数据存储方案设计 .
6、164.1 云存储数据中心架构模型 .164.2 存储系统读写流程 .174.2.1 存储系统写流程 .174.2.2 存储系统读流程 .174.3 非结构化数据云存储平台设计 .184.3.1 非结构化数据存储应用实例 .184.4 本章小结 .235 Mahout非结构化系统的设计与实现 .245.1 Mahout 分布式系统架构图 .245.2 系统总体实现 .245.2.1 硬件准备 .245.2.2 软件准备 .255.2.3 部署 Hadoop 集群 .255.3 Mahout 实现电子商务推荐系统 .325.3.1 系统设计 .325.3.2 结果演示 .325.4 本章小结 .
7、396 总结和展望 .40致 谢 .41参考文献 .42基于 Hadoop 的电子商务数据存储架构的研与设计I摘 要随着电子商务行业的高速发展,在现阶段的电子商务网站中出现了以指数级别形式增长的海量数据,而大多数以非结构化数据为主,由此可见,面对电子商务网站的海量信息,如何高效地存储和管理这些非结构化数据已经成为一个迫切需要解决的问题。面对电子商务网站中巨大的交易量,传统的数据库已经无法满足对海量数据实时统计、查询、分析的要求。为了在电子商务网站海量的商业数据中进行信息挖掘、分析,找到有价值的信息,需要能够处理海量数据的数据库技术。现今电子商务网站数据的重要发展方向是大数据,而大数据的主要实现
8、方式之一就是通过 Hadoop 技术来实现。所以电子商务数据的处理和 Hadoop 技术息息相关。本文侧重于基于 Hadoop 的电子商务数据存储架构的研究与设计,分析 MapReduce 流程、分布式文件系统 HDFS,利用 Mahout 聚类分类算法等相关技术,结合非结构化数据存储特点,建立具有高效、安全的系统架构,提出非结构化数据存储模型设计,并利用 Mahout 设计实现简单的电子商务推荐系统。关键词:电子商务 非结构化数据 Hadoop MapReduce Mahout基于 Hadoop 的电子商务数据存储架构的研与设计IIAbstractWith the rapid develop
9、ment of e-commerce industry, massive amounts of data in e-commerce sites grow exponentially in the form, and most are unstructured data, we can see much information e-commerce websites, how efficient store and manage unstructured data has become a serious problem.In face of a huge volume of transact
10、ions, the traditional database has been unable to meet the huge amounts of data in real-time statistics, query, analysis of requirements, in order to mining, analysis, find valuable data. We need the database technology that can handle massive amounts of data.Today the mportant direction of developm
11、ent of e-commerce sitesdata is big data, and one main way to achieve big data that is through Hadoop technology. So closely related to e-commerce data and Hadoop technology. This article focuses on the study of e-commerce data storage architecture research and design based on Hadoop, analysis of Map
12、Reduce flow, distributed file system HDFS, use Mahout clustering classification algorithms and other related technologies, combined with unstructured data storage characteristics, establish an efficient, safe system architecture, propose the model design of unstructured data storage and use Mahout t
13、o achieve a simple recommendation system.Key Words: e-commerce; unstructured data; Hadoop; MapReduce; Mahout基于 Hadoop 的电子商务数据存储架构的研究与设计11 绪论1.1 研究背景21 世纪的第一个十年里,电子商务行业高速发展。据我国电子商务研究中心发布的2014 年(上)中国电子商务市场数据监测报告显示,截止到 2014 年 6 月,中国电子商务交易额达 5.8 万亿元,相比同一时期增长 34.5%。根据报告显示,B2B 交易额达 4.5 万亿元,与同一时期相比增长 32.4%
14、。网络零售市场交易规模达 1.08 万亿元,相比同一时期增长 43.9%。无论是电子商务网站中的产品图片展示,还是电子商务网站中的文本数据,其数量都在呈现几何基础的增长。淘宝网作为我国最大的电子商务平台,在线商品达到 10 亿,淘宝网的图片存储系统容量已经达到1800TB(1.8PB),已经占用空间 990TB(约 1PB)。图片文件的数量已经达到 286 亿多个,这些图片文件包括根据原图生成的缩略图。每张图片大小大约是是 17.45K;占图片数总量 61%的大多是 8K 以下小图片,大约占存储空间的 11%。由此可见,面对电子商务网站的海量信息,如何高效的存储、管理这些非结构化数据已经成为一
15、个迫切需要解决的问题。由于海量非结构化数据以每年 23 倍的速度增长,商用文件系统已经不能达到其存储需求,现阶段,淘宝网主要采用 TFS 集群文件系统来解决和实现海量非结构化数据的读取和访问。商用文件系统的局限和不足:1.商用文件系统无法实现在小文件存储和读取的环境进行具有针对性的优化;2.面对海量数据,网络存储设备不能满足要求;3.系统所连接服务器已经逼近网络存储设备的极限;4.商用文件系统扩充容量成本太高,存在单点故障隐患,无法保证容灾和安全性。相对于商用存储系统,自主研发拥有明显的优势:1.自主研发系统可以充分考虑大规模系统的应用需求,无论存储还是 CDN 还是负载均衡,可以很方便地实现
16、如此大的数据规模测试;2.开源和自主开发相结合,系统扩展性更高。达到软件设计的基本要求“高内聚、低耦合” 。3.自主研发系统可在软硬件多层次进行不断升级优化。Hadoop 实现了可以在很大程度容纳错误的分布式文件系统 HDFS,不仅如此,便宜的硬件机器上也可以安装配置 HDFS,另外 HDFS 访问应用程序的数据的传输速率基于 Hadoop 的电子商务数据存储架构的研究与设计2是相当的高。作为谷歌公司实现的免费开源项目Hadoop,它具有以下几个优点:可扩展,经济,可靠,高效。1.2 研究意义及研究内容本文研究意义在于电子商务网站每日交易量巨大,传统的数据库已经无法满足对海量数据实时统计、查询
17、、分析的要求,为了能够对电子商务网站中的商业数据进行挖掘、分析,找到有价值的数据,需要能够处理海量数据的数据库技术。现今电子商务网站数据的重要发展方向是大数据,而大数据的主要实现方式之一就是通过 Hadoop 技术来实现。所以电子商务数据和 Hadoop 技术密切相关。本文研究内容侧重于研究基于 Hadoop 的电子商务数据存储架构的研究与设计,分析 MapReduce 流程、分布式文件系统 HDFS,利用 Mahout 聚类分类算法等相关技术,结合非结构化数据存储特点,建立具有高效、安全的系统架构,提出非结构化数据存储模型设计,并利用 Mahout 实现简单的电子商务推荐系统。通过在多台Li
18、nux 机器上安装配置 Hadoop,建立集群环境,设计实验,利用大量电子商务数据进行实验验证,以验证优化方案的合理性和系统的可行性。1.3 论文结构本论文结构主要划分为六个部分,各部分涉及内容如下:第一章绪论,划分为研究背景、研究意义及研究内容、论文结构。第二章分布式系统关键技术,针对目前相对成熟的分布式系统模型和分布式系统基本算法进行介绍。第三章 Hadoop 开源云计算系统,详细介绍了分布式文件系统 HDFS、并行编程MapReduce、YARN(下一代 MapReduce)、数据仓库 Hive、HBase、Mahout。第四章非结构化数据存储方案设计,首先通过需求分析归纳了对非结构化数
19、据存储系统的要求,给出非结构化数据存取系统的读写流程的实现。然后针对基于Hadoop 的电子商务数据存储架构提出设计。 第五章 Mahout 非结构化聚类系统的设计与实现,通过在多台 Linux 服务器上部署 Hadoop,利用 Mahout 设计电子商务推荐系统,收集实验数据进行实验设计,以验证优化方案的合理性和系统的可行性。第六章总结和展望,对本文所涉及的电子商务数据存储架构和电子商务推荐系统进行全面分析,并在此基础上,针对基于 Hadoop 电子商务数据存储架构进行了展望。基于 Hadoop 的电子商务数据存储架构的研究与设计32 分布式系统关键技术2.1 分布式系统模型简介2.1.1
20、Google的 GFSGFS 是谷歌设计的一个专用的文件系统。 GFS 是对于大规模的可伸缩的分布式文件系统,应用于大量数据的应用程序访问。不仅在价格便宜的商用硬件机器上可以运行 GFS,而且它还有较强的容纳错误的能力。它将高综合性能的服务提供给用户。与其他的分布式文件系统相比,GFS 与他们存在很多相同的目标,但 GFS 存在于其他系统不同的目标,它的设计是由技术环境和工作量所影响。这便需要重新审视传统的选择和探索完全不同的设计思路。和传统的文件系统相比,GFS 存在部分自身的观点,如下:1.部件错误会被当做一种普遍常见的情况,而不是将其认为是一种异常,但被视为一个常见的情况。2.根据传统的标准,文件非常大。3.GFS 主要通过增加新的数据来更新文件,并不是通过改变已经存在数据完成更新。4.由读取操作两部分组成 GFS 工作量:针对大量数据主要以数据流的方式进行读操作,针对少量数据以随机方式进行读操作。5.工作还包括一些对于大数据量进行连续的、将数据添加到文件的写入操作。6.系统必须有效地实现良好的定义语义来添加大量的客户在同一时间在同一文件操作。7.高可持续带宽相对于低延迟更重要。由一个 master 和大量的 chunkserver 构成一个 GFS 集群,许多客户端可以同时对其进行访问。如图 2-1 所示为 GFS 体系结构: