logo资料库

hadoop培训文档.docx

第1页 / 共35页
第2页 / 共35页
第3页 / 共35页
第4页 / 共35页
第5页 / 共35页
第6页 / 共35页
第7页 / 共35页
第8页 / 共35页
资料共35页,剩余部分请下载后查看
1hadoop简介
1.1hadoop起源
1.1.1项目起源
1.1.2Hadoop发展历程
1.1.3Hadoop名字起源
1.2hadoop项目
1.2.1什么是hadoop?
1.2.2Hadoop能做什么?
1.2.3集中存储和计算的问题
1.2.4分布式存储和计算与虚拟化的差异
1.2.5常见版本
2HDFS简介
2.1什么是hdfs
2.2集中数据存储
2.3HDFS写操作原理
2.4HDFS读操作原理
2.5HDFS常用命令
3Hadoop伪分布式集群环境搭建
3.1说明
3.2开始搭建
3.2.1准备Linux环境
3.2.1.1VMware虚拟机安装Centos
3.2.1.2修改主机名
3.2.1.3修改IP
3.2.1.4修改主机名和IP的映射关系
3.2.1.5关闭防火墙
3.2.1.6重启linux
3.2.2安装JDK
3.2.2.1 上传jdk
3.2.2.2解压jdk
3.2.2.3设置jdk环境变量
3.2.3安装hadoop2.7.3
3.2.3.1配置hadoop
3.2.4配置ssh免密钥
4Eclipse开发MapReduce程序
4.1说明
4.2准备eclipse开发环境
4.2.1在windows上解压hadoop2.7.3
4.2.2安装hadoop的eclipse插件
4.3利用eclipse Hadoop plugins创建mapreduce程序
4.4运行java程序
Hadoop 周伟 内容安排: 1. hadoop 简介 2. HDFS 简介 3. Hadoop 伪集群环境搭建 4. Windows 系统下 Eclipse 开发 MapReduce 程序
1 hadoop 简介 1.1 hadoop 起源 1.1.1 项目起源 Hadoop 由 Apache Software Foundation 公司于 2005 年秋天作为 Lucene 的子项目 Nutch 的一部分正式引入。它受到最先由 Google Lab 开发的 Map/Reduce 和 Google File System(GFS) 的启发。 2006 年 3 月份,Map/Reduce 和 Nutch Distributed File System (NDFS) 分别被纳 入称为 Hadoop 的项目中。 Hadoop 是最受欢迎的在 Internet 上对搜索关键字进行内容分类的工具,但它也可以 解决许多要求极大伸缩性的问题。例如,如果您要 grep 一个 10TB 的巨型文件,会出现 什么情况?在传统的系统上,这将需要很长的时间。但是 Hadoop 在设计时就考虑到这些 问题,采用并行执行机制,因此能大大提高效率。 1.1.2 Hadoop 发展历程 Hadoop 原本来自于谷歌一款名为 MapReduce 的编程模型包。谷歌的 MapReduce 框 架可以把一个应用程序分解为许多并行计算指令,跨大量的计算节点运行非常巨大的数据集。 使用该框架的一个典型例子就是在网络数据上运行的搜索算法。Hadoop[3] 最初只与网页索 引有关,迅速发展成为分析大数据的领先平台。 目前有很多公司开始提供基于 Hadoop 的商业软件、支持、服务以及培训。Cloudera 是一家美国的企业软件公司,该公司在 2008 年开始提供基于 Hadoop 的软件和服务。GoGrid 是一家云计算基础设施公司,在 2012 年,该公司与 Cloudera 合作加速了企业采纳基于 Hadoop 应用的步伐。Dataguise 公司是一家数据安全公司,同样在 2012 年该公司推出了 一款针对 Hadoop 的数据保护和风险评估。 1.1.3 Hadoop 名字起源 Hadoop 这个名字不是一个缩写,而是一个虚构的名字。该项目的创建者,Doug Cutting 解释 Hadoop 的得名 :“这个名字是我孩子给一个棕黄色的大象玩具命名的。我的命名标准 就是简短,容易发音和拼写,没有太多的意义,并且不会被用于别处。小孩子恰恰是这方面 的高手。” Hadoop 的发音是 [hædu:p]。
1.2 hadoop 项目 1.2.1 什么是 hadoop? Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。用户可以在不了解分布式底 层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。  解决问题:  海量数据的存储(HDFS)  海量数据的分析(MapReduce)  资源管理调度(YARN)  作者:Doug Cutting  受 Google 三篇论文的启发(GFS、MapReduce、BigTable) GFS、MapReduce、BigTable.rar 1.2.2 Hadoop 能做什么?  hadoop 擅长日志分析,facebook 就用 Hive 来进行日志分析,2009 年时 facebook 就 有非编程人员的 30%的人使用 HiveQL 进行数据分析;淘宝搜索中的自定义筛选也使
用的 Hive;利用 Pig 还可以做高级的数据处理,包括 Twitter、LinkedIn 上用于发现 您可能认识的人,可以实现类似 Amazon.com 的协同过滤的推荐效果。淘宝的商品 推荐也是!在 Yahoo!的 40%的 Hadoop 作业是用 pig 运行的,包括垃圾邮件的识别 和过滤,还有用户特征建模。(2012 年 8 月 25 新更新,天猫的推荐系统是 hive,少 量尝试 mahout!)
1.2.3 集中存储和计算的问题 1.2.4 分布式存储和计算与虚拟化的差异
1.2.5 常见版本  Apache 官方版本(2.7.3 稳定) 最新 3.x  Cloudera 使用下载最多的版本,稳定,有商业支持,在 Apache 的基础上打上了一些 patch。推荐 使用。  HDP(Hortonworks Data Platform) Hortonworks 公司发行版本。 2 HDFS 简介 2.1 什么是 hdfs HDFS(Hadoop Distributed File System )Hadoop 分布式文件系统。是根据 google 发表的论文翻版的。论文为 GFS(Google File System)Google 文件系统(中文,英文)。 HDFS 有很多特点:  保存多个副本,且提供容错机制,副本丢失或宕机自动恢复。默认存 3 份。  运行在廉价的机器上。  适合大数据的处理。多大?多小?HDFS 默认会将文件分割成 block,64M 为 1 个 block。然后将 block 按键值对存储在 HDFS 上,并将键值对的映射存到内存中。如 果小文件太多,那内存的负担会很重。
如上图所示,HDFS 也是按照 Master 和 Slave 的结构。分 NameNode、 SecondaryNameNode、DataNode 这几个角色。  NameNode:是 Master 节点,是大领导。管理数据块映射;处理客户端的读写请 求;配置副本策略;管理 HDFS 的名称空间;  SecondaryNameNode:是一个小弟,分担大哥 namenode 的工作量;是 NameNode 的冷备份;合并 fsimage 和 fsedits 然后再发给 namenode。  DataNode:Slave 节点,奴隶,干活的。负责存储 client 发来的数据块 block;执 行数据块的读写操作。 热备份:b 是 a 的热备份,如果 a 坏掉。那么 b 马上运行代替 a 的工作。 冷备份:b 是 a 的冷备份,如果 a 坏掉。那么 b 不能马上代替 a 工作。但是 b 上存储 a 的一些信息,减少 a 坏掉之后的损失。 fsimage:元数据镜像文件(文件系统的目录树。) edits:元数据的操作日志(针对文件系统做的修改操作记录) namenode 内存中存储的是=fsimage+edits。 SecondaryNameNode 负责定时默认 1 小时,从 namenode 上,获取 fsimage 和 edits 来进行合并,然后再发送给 namenode。减少 namenode 的工作量。
2.2 集中数据存储 2.3 HDFS 写操作原理
分享到:
收藏