hadoop实战手册入门资料Word格式文档下载.doc
- 文档编号:14561641
- 上传时间:2022-10-23
- 格式:DOC
- 页数:55
- 大小:858KB
hadoop实战手册入门资料Word格式文档下载.doc
《hadoop实战手册入门资料Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《hadoop实战手册入门资料Word格式文档下载.doc(55页珍藏版)》请在冰豆网上搜索。
3.2.3 安装软件 7
3.3 下载 7
3.4 运行Hadoop集群的准备工作 7
3.5 单机模式的操作方法 7
3.6 伪分布式模式的操作方法 8
3.6.1 配置 8
3.6.2 免密码ssh设置 9
3.6.3 执行 9
4 Hadoop集群搭建过程手记 12
4.1 免密码SSH设置 12
4.2 Hadoop软件安装 12
4.3 Master(85)配置 13
4.4 Slave(60,245上)配置 14
4.5 初始化和启动hadoop集群 15
4.5.1 初始化文件系统 15
4.5.2 启动Hadoop 15
4.5.3 停止Hadoop 17
4.6 测试 17
4.7 管理界面与命令 19
4.7.1 hdfs运行状态界面 19
4.7.2 Map-reduce的运行状态界面 20
4.7.3 直接的命令行查看 20
4.7.1 运行的进程查看 21
5 架构分析 23
5.1 HDFS 23
5.1.1 HDFS的三个重要角色 24
5.1.2 HDFS设计特点 25
5.2 MapReduce 26
5.2.1 算法介绍 26
5.2.2 Hadoop框架下的mapreduce 28
5.3 综合架构分析 29
6 Hadoop的应用 31
7 系统维护 31
7.1 Hadoop的系统监控 31
7.2 Hadoop中的命令(Command)总结 32
7.3 NameNode与JobTracker单点故障说明 32
7.4 经验总结 32
7.5 如何在一个hadoop集群新增或删除一些机器而不重启 33
7.5.1 新增节点 33
7.5.2 删除节点 34
7.6 其它日常问题说明 36
7.6.1 datanode启动失败,各slave节点的namespaceIDs与masters不同 36
7.6.2 taskTracker和jobTracker启动失败 37
7.6.3 ShuffleError:
ExceededMAX_FAILED_UNIQUE_FETCHES;
bailing-out 37
7.6.4 Toomanyfetch-failures 38
7.6.5 能够启动datanode,但无法访问,也无法结束的错误 38
7.6.6 java.io.IOException:
Couldnotobtainblock:
38
7.6.7 java.lang.OutOfMemoryError:
Java
heapspace 38
7.6.8 解决hadoopOutOfMemoryError问题:
39
7.6.9 Hadoopjava.io.IOException:
7.7 防火墙的端口开放要求 39
7.7.1 与HDFS有关的地址及端口属性 39
7.7.2 与MapReduce
有关的地址及端口属性 41
8 附录 42
8.1 hadoop历史 42
8.2 Hadoop大记事 43
8.3 Hadoop的几个主要子项目 44
8.4 官方集群搭建参考 44
8.4.1 配置文件 44
8.4.2 集群配置说明 44
1概述
作什么事情之前,第一步是要知道What(是什么),然后是Why(为什么),最后才是How(怎么做)。
避免将技术误用于不适合的场景,这一点非常重要。
1.1什么是Hadoop?
Hadoop由ApacheSoftwareFoundation公司于2005年秋天作为Lucene的子项目Nutch的一部分正式引入。
它受到最先由GoogleLab开发的MapReduce和GoogleFileSystem的启发。
2006年3月份,MapReduce和NutchDistributedFileSystem(NDFS)分别被纳入称为Hadoop的项目中。
Hadoop并不仅仅是一个用于存储的分布式文件系统,而是设计用来在由通用计算设备组成的大型集群上执行分布式应用的基础框架。
它由Apache基金会开发。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。
充分利用集群的威力高速运算和存储。
简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。
下图是Hadoop的体系结构:
Hadoop框架中最核心的设计就是:
MapReduce和HDFS。
1)MapReduce的思想是由Google的一篇论文所提及而被广为流传的,简单的一句话解释MapReduce就是“任务的分解与结果的汇总”。
2)HDFS是Hadoop分布式文件系统(HadoopDistributedFileSystem)的缩写,为分布式计算存储提供了底层支持。
1.2为什么要选择Hadoop?
1.2.1系统特点
下面列举hadoop主要的一些特点:
1)扩容能力(Scalable):
能可靠地(reliably)存储和处理千兆字节(PB)数据。
2)成本低(Economical):
可以通过普通机器组成的服务器群来分发以及处理数据。
这些服务器群总计可达数千个节点。
3)高效率(Efficient):
通过分发数据,hadoop可以在数据所在的节点上并行地(parallel)处理它们,这使得处理非常的快速。
4)可靠性(Reliable):
hadoop能自动地维护数据的多份复制,并且在任务失败后能自动地重新部署(redeploy)计算任务。
1.2.2使用场景
个人觉得最适合的就是海量数据的分析,其实Google最早提出MapReduce也就是为了海量数据分析。
同时HDFS最早是为了搜索引擎实现而开发的,后来才被用于分布式计算框架中。
海量数据被分割于多个节点,然后由每一个节点并行计算,将得出的结果归并到输出。
同时第一阶段的输出又可以作为下一阶段计算的输入,因此可以想象到一个树状结构的分布式计算图,在不同阶段都有不同产出,同时并行和串行结合的计算也可以很好地在分布式集群的资源下得以高效的处理。
2术语
1)Namenode:
HDFS采用master/slave架构。
一个HDFS集群是由一个Namenode和一定数目的Datanodes组成。
Namenode是一个中心服务器,负责管理文件系统的名字空间(namespace)以及客户端对文件的访问。
Namenode执行文件系统的名字空间操作,比如打开、关闭、重命名文件或目录。
它也负责确定数据块到具体Datanode节点的映射
2)Datanode:
集群中的Datanode一般是一个节点一个,负责管理它所在节点上的存储。
HDFS暴露了文件系统的名字空间,用户能够以文件的形式在上面存储数据。
从内部看,一个文件其实被分成一个或多个数据块,这些块存储在一组Datanode上。
Datanode负责处理文件系统客户端的读写请求。
在Namenode的统一调度下进行数据块的创建、删除和复制。
3)Secondnamenode:
光从字面上来理解,很容易让一些初学者先入为主的认为:
SecondaryNameNode(snn)就是NameNode(nn)的热备进程。
其实不是。
snn是HDFS架构中的一个组成部分,但是经常由于名字而被人误解它真正的用途,其实它真正的用途,是用来保存namenode中对HDFSmetadata的信息的备份,并减少namenode重启的时间。
4)Jobtracker和Tasktracher:
JobTracker是MapReduce框架中最主要的类之一,所有job的执行都由它来调度,而且Hadoop系统中只配置一个JobTracker应用。
它们都是由一个master服务JobTracker和多个运行于多个节点的slaver服务TaskTracker两个类提供的服务调度的。
master负责调度job的每一个子任务task运行于slave上,并监控它们,如果发现有失败的task就重新运行它,slave则负责直接执行每一个task。
TaskTracker都需要运行在HDFS的DataNode上,而JobTracker则不需要,一般情况应该把JobTracker部署在单独的机器上。
3Hadoop的单机部署
参考:
http:
//hadoop.apache.org/common/docs/current/single_node_setup.html#Supported+Platforms
3.1目的
本章节的目的是帮助你快速完成单机上的Hadoop安装与使用以便你对Hadoop分布式文件系统(HDFS)和Map-Reduce框架有所体会,比如在HDFS上运行示例程序或简单作业等。
3.2先决条件
3.2.1支持平台
1)GNU/Linux是产品开发和运行的平台。
Hadoop已在有2000个节点的GNU/Linux主机组成的集群系统上得到验证。
2)Win32平台是作为开发平台支持的。
由于分布式操作尚未在Win32平台上充分测试,所以还不作为一个生产平台被支持。
3.2.2所需软件
Linux和Windows所需软件包括:
1.SunJavaTM1.6.x,必须安装。
2.ssh
必须安装并且保证
sshd一直运行,以便用Hadoop脚本管理远端Hadoop守护进程。
3.2.3安装软件
如果你的集群尚未安装所需软件,你得首先安装它们。
以Linux为例:
$sudoapt-getinstallssh
$sudoapt-getinstallrsync
3.3下载
为了获取Hadoop的发行版,从Apache的某个镜像服务器上下载最近的
稳定发行版。
下载地址:
3.4运行Hadoop集群的准备工作
解压所下载的Hadoop发行版。
编辑
conf/hadoop-env.sh文件,至少需要将JAVA_HOME设置为Java安装根路径。
尝试如下命令:
$bin/hadoop
将会显示hadoop
脚本的使用文档。
现在你可以用以下三种支持的模式中的一种启动Hadoop集群:
·
单机模式
伪分布式模式
完全分布式模式
3.5单机模式的操作方法
默认情况下,Hadoop被配置成以非分布式模式运行的一个独立Java进程。
这对调试非常有帮助。
下面的实例将已解压的
conf
目录拷贝作为输入,查找并显示匹配给定正则表达式的条目。
输出写入到指定的output目录。
$mkdirinput
$cpconf/*.xmlinput
$bin/hadoopjarhadoop-examples-0.20.203.0.jargrepinputoutput'
dfs[a-z.]+'
$catoutput/*
注:
语法不理解没关系看下面进一步
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- hadoop 实战 手册 入门 资料
![提示](https://static.bdocx.com/images/bang_tan.gif)