最新HADOOP学习笔记.doc
《最新HADOOP学习笔记.doc》由会员分享,可在线阅读,更多相关《最新HADOOP学习笔记.doc(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateHADOOP学习笔记HADOOP学习笔记HADOOP学习笔记 -白兵南 大 通 用 数 据 技 术 股 份 有 限 公 司General Data Technologies Co., Ltd.GBase版权所有2004-2013天津总公司:中国天津华苑产业区海泰发展六道6号海泰绿色产业基地J座5层电 话:022-58815678传真:022-58815679北京分公司
2、:北京海淀区金源时代商务中心B区1206电话:010-88866866传真:010-88864556 E-mail:info日期版本变更说明作者2014-9-25V20140925创建白兵目录1文档说明12第一课:认识HADOOP22.1HADOOP的前世今生22.2HADOOP基础原理22.2.1HDFS32.2.2MapReduce52.3HADOOP的国内外应用63第二课:认识HADOOP2(常用组件简介)63.1Hbase简介63.2Hive简介73.3pig简介73.4Zookeeper简介73.5Sqoop简介83.6Hue简介83.7Yarn简介83.8Impal简介84第三课:
3、部署HADOOP104.1部署环境104.2目录结构104.3安装步骤114.3.1环境检查&环境变量配置114.3.2下载拷贝安装包到主目录下,并解压114.3.3配置profile变量124.3.4Hbase-env.sh配置124.3.5slaves配置124.3.6yarn-env.sh配置124.3.7core-site.xml配置124.3.8hdfs-site.xml配置134.3.9mapred-site.xml配置134.3.10yarn-site.xml配置154.3.11配置完成,文件拷贝至两个slave节点154.4安装完成检验164.5安装过程中的问题185第四课:H
4、ADOOP的基本操作205.1启动/停止hadoop205.2文件操作205.2.1查看文件列表205.2.2创建文件目录205.2.3上传文件215.2.4下载文件215.2.5删除文件、目录225.3MapReduce Job操作225.3.1提交MapReduce Job225.3.2杀死某个正在运行的Job225.3.3练习WordCount225.3.4练习过程中的问题235.4HADOOP常用命令收集246第五课:HBASE-1简单介绍和安装266.1HBASE介绍266.2安装286.2.1下载解压286.2.2安装-修改conf/regionservers286.2.3安装-修
5、改conf/hbase-site.xml286.2.4安装-修改conf/hbase-env.sh296.2.5安装-设置环境变量306.3启动HBASE306.4安装过程中的问题317第六课:ZOOKEEPER安装337.1下载zookeeper337.2解压337.3修改zoo.cfg配置文件337.4创建相应目录&拷贝目录&编辑myid347.5配置环境变量347.6启动并测试zookeeper347.7安装过程中的问题358附录368.1配置项core-site.xml介绍368.2配置项hdfs-site.xml介绍388.3配置项mapred-site.xml介绍41-1 文档说明
6、本文档这一系列的Hadoop学习笔记是针对本人作为初学者从零开始一步一步进行下来的,过程中参考了网上的很多文章,同时结合自己的实际练习对学习Hadoop中遇到的问题进行了归纳总结。主要目的就是将hadoop相关知识在这里汇总,方便查阅和学习参考。后续内容会不定期通过论坛以及群邮件(每周两节课左右)发出,内容肯定会有些不完整或者不全面的地方,希望大家指正。我这里抛砖引玉,也希望各位同事能够把自己的在hadoop方面学习或收集的知识共享出来,供大家一起学习。2 第一课:认识HADOOP2.1 HADOOP的前世今生谈到Hadoop就不得不提到Lucene和Nutch。首先,Lucene并不是一个应
7、用程序,而是提供了一个纯Java的高性能全文索引引擎工具包,它可以方便的嵌入到各种实际应用中实现全文搜索/索引功能。Nutch是一个应用程序,是一个以Lucene为基础实现的搜索引擎应用,Lucene为Nutch提供了文本搜索和索引的API,Nutch不光有搜索的功能,还有数据抓取的功能。在nutch0.8.0版本之前,Hadoop还属于Nutch的一部分,而从nutch0.8.0开始,将其中实现的NDFS和MapReduce剥离出来成立一个新的开源项目,这就是Hadoop,而nutch0.8.0版本较之以前的Nutch在架构上有了根本性的变化,那就是完全构建在Hadoop的基础之上了。在Ha
8、doop中实现了Google的GFS和MapReduce算法,使Hadoop成为了一个分布式的计算平台。Hadoop作为Apache基金会资助的开源项目,由Doug Cutting带领的团队进行开发,基于Lucene和Nutch等开源项目,实现了Google的GFS和Hadoop能够稳定运行在20个节点的集群;2006年1月,Doug Cutting加入雅虎公司,同年2月Apache Hadoop项目正式支持HDFS和MapReduce的独立开发。同时,新兴公司Cloudera为Hadoop提供了商业支持,帮助企业实现标准化安装,并志愿贡献社区。2.2 HADOOP基础原理Hadoop原来是A
9、pache Lucene下的一个子项目,它最初是从Nutch项目中分离出来的专门负责分布式存储以及分布式运算的项目。简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。或者说,Hadoop并不仅仅是一个用于存储的分布式文件系统,而是设计用来在由通用计算设备组成的大型集群上执行分布式应用的框架Hadoop由分布式存储HDFS和分布式计算MapReduce两部分组成。HDFS是一个master/slave的结构,就通常的部署来说,在master上只运行一个Namenode,而在每一个slave上运行一个Datanode。MapReduce是Google的一项重要技术,它是一
10、个编程模型,用以进行大数据量的计算。MapReduce的名字源于这个模型中的两项核心操作:Map和Reduce。Map是把一组数据一对一的映射为另外的一组数据,Reduce是对一组数据进行归约,映射和归约的规则都由一个函数指定。经过几年的快速发展,Hadoop现在已经发展成为包含多个相关项目的软件生态系统,成为大数据处理技术的事实标准,目前典型的Hadoop生态系统如下所示:2.2.1 HDFSHDFS(HADOOP DISTRIBUTED FILE SYSTEM),是一个分布式文件系统。它是谷歌的GFS提出之后出现的一种用户级文件系统。有一定的容错性,能提供高吞吐量的数据访问,适合大规模数据
11、集上的应用。HDFS 提供了一个高度容错性和高吞吐量的海量数据存储解决方案,并且可以被部署在低价的硬件设备之上。HDFS很适合那些有大数据集的应用,并且提供了对数据读写的高吞吐率。HDFS是一个master/slave的结构,就通常的部署来说,在master上只运行一个Namenode,而在每一个slave上运行一个Datanode。 HDFS支持传统的层次文件组织结构,同现有的一些文件系统在操作上很类似,比如你可以创建和删除一个文件,把一个文件从一个目录移到另一个目录,重命名等等操作。Namenode管理着整个分布式文件系统,对文件系统的操作(如建立、删除文件和文件夹)都是通过Namenod
12、e来控制。基本概念: Block:大文件的存储会被分割为多个block进行存储。默认64MB,每一个blok会在多个datanode上存储多份副本,默认3份 Namenode:主要负责存储一些metadata信息,主要包括文件目录、block和文件对应关系,以及block和datanote的对应关系 Datanode:负责存储数据,数据以block的形式存在下面是HDFS的结构:从上面的图中可以看出,Namenode,Datanode,Client之间的通信都是建立在TCP/IP的基础之上的。当Client要执行一个写入的操作的时候,命令不是马上就发送到Namenode,Client首先在本机
13、上临时文件夹中缓存这些数据,当临时文件夹中的数据块达到了设定的Block的值(默认是64M)时,Client便会通知Namenode,Namenode便响应Client的RPC请求,将文件名插入文件系统层次中并且在Datanode中找到一块存放该数据的block,同时将该Datanode及对应的数据块信息告诉Client,Client便这些本地临时文件夹中的数据块写入指定的数据节点。 HDFS采取了副本策略,其目的是为了提高系统的可靠性,可用性。HDFS的副本放置策略是三个副本,一个放在本节点上,一个放在同一机架中的另一个节点上,还有一个副本放在另一个不同的机架中的一个节点上。2.2.2 Ma
14、pReduceMapReduce是Google 的一项重要技术,它是一个编程模型,用以进行大数据量的计算。对于大数据量的计算,通常采用的处理手法就是并行计算。至少现阶段而言,对许多开发人员来说,并行计算还是一个比较遥远的东西。MapReduce就是一种简化并行计算的编程模型,它让那些没有多少并行计算经验的开发人员也可以开发并行应用。 MapReduce的名字源于这个模型中的两项核心操作:Map和 Reduce。也许熟悉Functional Programming(函数式编程)的人见到这两个词会倍感亲切。简单的说来,Map是把一组数据一对一的映射为另外的一组数据,其映射的规则由一个函数来指定,比
15、如对1, 2, 3, 4进行乘2的映射就变成了2, 4, 6, 8。Reduce是对一组数据进行归约,这个归约的规则由一个函数指定,比如对1, 2, 3, 4进行求和的归约得到结果是10,而对它进行求积的归约结果是24。MapReduce示例:1. 输入端根据输入文本大小进行切片形成适合Map处理的数据片2. 分片后的数据申请Map资源,执行本地单词映射操作3. 通过交换将map生成的结果按照单词进行归并重组4. 重组后的结果,申请Reduce资源,进行单词的合并统计5. .对Reduce的结果进行记录合并生成输出文件MapReduce的优点: 通过MapReduce这个分布式处理框架,不仅能
16、用于处理大规模数据,而且能将很多繁琐的细节隐藏起来,比如,自动并行化、负载均衡和灾备管理等,这样将极大地简化开发者工作 MapReduce的伸缩性非常好,也就是说,每增加一台服务器,其就能将差不多的计算能力接入到集群中,而过去的大多数分布式处理框架,在伸缩性方面都与MapReduce相差甚远。MapReduce的缺点: MapReduce最大的不足则在于,其不适应实时应用的需求,目前还无法满足用户交互式的需求。2.3 HADOOP的国内外应用2008年之后,国内应用和研究Hadoop的企业也越来越多,包括淘宝、百度、腾讯、网易、金山等。淘宝是国内最先使用Hadoop的公司之一;百度在Hadoo
17、p上进行广泛应用并对它进行改进和调整,同时赞助了HyperTable的开发。总之,互联网企业是Hadoop在国内的主要使用力量。同样的,很多科研院所也投入到Hadoop的应用和研究中,包括中科院、清华大学、浙江大学和华中科技大学等。3 第二课:认识HADOOP2(常用组件简介)3.1 Hbase简介HBase是一个分布式的、多版本的、面向列的开源数据库 利用Hadoop HDFS作为其文件存储系统,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统 利用Hadoop MapReduce来处理HBase中的海量数据 利用Zookeeper作为协同服务HBase是GoogleBigtabl
18、e的开源实现,其中表的特点如下: 大:一个表可以有上亿行,上百万列 面向列:面向列(族)的存储和权限控制,列(族)独立检索 稀疏:对于为空的列,并不占用存储空间,因此,表可以设计的非常稀疏 多版本:每条记录中的数据可以有多个版本 无类型:存在HBase中的数据都是字符串,无其他类型3.2 Hive简介Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的类sql查询功能,可以将类sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合
19、数据仓库的统计分析。3.3 pig简介Pig是Hadoop上层的衍生架构,对比Hive(一种声明式的语言),Pig是一种过程语言,类似于存储过程一步一步的对数据进行转化Pig对MapReduce算法实现了一套shell,类似SQL语句,在Pig中称为Pig Latin,可以对数据进行排序、过滤、求和、分组(group by)、关联(Joining)等操作Pig也可以由用户自定义一些函数对数据集进行操作,也就是传说中的UDF(user-defined functions)。3.4 Zookeeper简介ZooKeeper是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、
20、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。3.5 Sqoop简介sqoop主要用来在Hadoop和关系数据库中传递数据。通过sqoop,我们可以方便的将数据从关系数据库导入到HDFS,或者将数据从HDFS导出到关系数据库。sqoop架构非常简单,其整合了Hive、Hbase和Oozie,通过map-reduce任务来传输数据,从而提供并发特性和容错。3.6 Hue简介Hue是专门为运营和开发人员开发的,执行Hadoop相关应用的图形化用户界面。Hue程序被整合到一个类似桌面的环境,以web程序的形式发布,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 HADOOP 学习 笔记
限制150内