hadoop的安装、配置.doc

上传人:sk****8 文档编号:3520057 上传时间:2019-06-01 格式:DOC 页数:11 大小:1.50MB
下载 相关 举报
hadoop的安装、配置.doc_第1页
第1页 / 共11页
hadoop的安装、配置.doc_第2页
第2页 / 共11页
hadoop的安装、配置.doc_第3页
第3页 / 共11页
hadoop的安装、配置.doc_第4页
第4页 / 共11页
hadoop的安装、配置.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、Hadoop 的安装部署上海理工大学前言:对于云计算的概念,世界知名的几大IT厂商都推出了各自的云计算平台,比如Amazon的AWS、微软的Azure和IBM的蓝云等,但他们都是商业平台,不适合广大对云计算有兴趣的研究者,而Hadoop是google云计算的开源实现,并且是完全免费的。Hadoop 是一个分布式系统基础架构,是Apache下的一个项目,由HDFS、MapReduce、HBase、Hive 和ZooKeeper等成员组成。其中,HDFS 和MapReduce 是两个最基础最重要的成员。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。简单地

2、说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。Hadoop框架中最核心的设计就是:MapReduce和HDFS。MapReduce的思想是由Google的一篇论文所提及而被广为流传的,简单的一句话解释MapReduce就是“任务的分解与结果的汇总”。HDFS是Hadoop分布式文件系统(Hadoop Distributed File System)的缩写,为分布式计算存储提供了底层支持。MapReduce 从它名字上来看就大致可以看出个缘由,两个动词 Map 和Reduce, “Map(展开) ”就是将一个任务分解成为多个任务, “Reduce”就是将分解后多任务处理的

3、结果汇总起来,得出最后的分析结果。这不是什么新思想,其实在前面提到的多线程,多任务的设计就可以找到这种思想的影子。不论是现实社会,还是在程序设计中,一项工作往往可以被拆分成为多个任务,任务之间的关系可以分为两种:一种是不相关的任务,可以并行执行;另一种是任务之间有相互的依赖,先后顺序不能够颠倒,这类任务是无法并行处理的。回到大学时期,教授上课时让大家去分析关键路径,无非就是找最省时的任务分解执行方式。在分布式系统中,机器集群就可以看作硬件资源池,将并行的任务拆分,然后交由每一个空闲机器资源去处理,能够极大地提高计算效率,同时这种资源无关性,对于计算集群的扩展无疑提供了最好的设计保证。 (其实我

4、一直认为 Hadoop 的卡通图标不应该是一个小象,应该是蚂蚁,分布式计算就好比蚂蚁吃大象,廉价的机器群可以匹敌任何高性能的计算机,纵向扩展的曲线始终敌不过横向扩展的斜线) 。任务分解处理以后,那就需要将处理以后的结果再汇总起来,这就是 Reduce 要做的工作。如下图:HDFS是分布式计算的存储基石,Hadoop的分布式文件系统和其他分布式文件系统有很多类似的特质。分布式文件系统基本的几个特点:1. 对于整个集群有单一的命名空间。2. 数据一致性。适合一次写入多次读取的模型,客户端在文件没有被成功创建之前无法看到文件存在。3. 文件会被分割成多个文件块,每个文件块被分配存储到数据节点上,而且

5、根据配置会由复制文件块来保证数据的安全性。就HDFS的设计而言,有以下一些特点:1. Block的放置:默认不配置。一个Block会有三份备份,一份放在NameNode 指定的DataNode,另一份放在与指定DataNode 非同一Rack上的DataNode,最后一份放在与指定DataNode同一 Rack上的DataNode上。备份无非就是为了数据安全,考虑同一Rack的失败情况以及不同Rack之间数据拷贝性能问题就采用这种配置方式。2. 心跳检测DataNode 的健康状况,如果发现问题就采取数据备份的方式来保证数据的安全性。3. 数据复制(场景为DataNode失败、需要平衡Data

6、Node的存储利用率和需要平衡DataNode数据交互压力等情况):这里先说一下,使用HDFS 的balancer命令,可以配置一个Threshold来平衡每一个 DataNode磁盘利用率。例如设置了 Threshold为10%,那么执行balancer命令的时候,首先统计所有DataNode 的磁盘利用率的均值,然后判断如果某一个DataNode的磁盘利用率超过这个均值Threshold 以上,那么将会把这个 DataNode的block转移到磁盘利用率低的DataNode ,这对于新节点的加入来说十分有用。4. 数据交验:采用CRC32作数据交验。在文件Block 写入的时候除了写入数据

7、还会写入交验信息,在读取的时候需要交验后再读入。5. NameNode是单点:如果失败的话,任务处理信息将会纪录在本地文件系统和远端的文件系统中。6. 数据管道性的写入:当客户端要写入文件到DataNode上,首先客户端读取一个Block然后写到第一个DataNode 上,然后由第一个 DataNode传递到备份的 DataNode上,一直到所有需要写入这个Block的NataNode都成功写入,客户端才会继续开始写下一个Block。7. 安全模式:在分布式文件系统启动的时候,开始的时候会有安全模式,当分布式文件系统处于安全模式的情况下,文件系统中的内容不允许修改也不允许删除,直到安全模式结束

8、。安全模式主要是为了系统启动的时候检查各个DataNode上数据块的有效性,同时根据策略必要的复制或者删除部分数据块。运行期通过命令也可以进入安全模式。在实践过程中,系统启动的时候去修改和删除文件也会有安全模式不允许修改的出错提示,只需要等待一会儿即可。部署:前期准备:1、 安装 linux 虚拟机使用的是 VMware 7.0.1 build-227600 和 ubuntu11.10,并且安装vmware tools 和 samba 服务,这样方便物理机与虚拟机的使用。1) vmware tools 安装命令如下:#mkdir /mnt/cdrom/#mount /dev/cdrom/ /m

9、nt/cdrom/#cp /mnt/cdrom/VMwareTools-*.tar.gz /tmp/#cd /tmp/#tar -zxpf VMwareTools-*.tar.gz#cd vmware-tools-distrib/#./vmware-install.pl2) samba 服务的安装配置如下:#apt-get install samba#apt-get install smbclient#mkdir /samba/#vi /etc/smb.conf做如下修改:security=user 改为 security=share文件末尾添加如下内容:sambaComment=this i

10、s linux share directoryPath=/sambaPublic=yesWritable=yes在 windows 中点击运行,输入 虚拟机 linux 的 ipsamba 就能访问到共享文件夹。2、 hadoop 运行时需要管理远端的 hadoop 守护进程,所以需要安装 ssh server,使用如下命令:#apt-get install ssh3、 安装 java,使用 jdk-6u24-linux-i586.bin 版本。安装 java 到/usr/java/ 目录下:#mkdir /usr/java/#cd /usr/java/#/samba/jdk-6u24-lin

11、ux-i586.bin4、 解压 hadoop 安装包,实验使用 hadoop-1.0.2.tar.gz,软件放在 samba 文件夹中,解压到/usr/目录中。#cd /usr /#tar -zxvf /samba/hadoop-1.0.2.tar.gz5、编辑解压出来的 hadoop 文件夹中的/conf/hadoop-env.sh 文件,把 JAVA_HOME 设置为java 的安装路径如 export JAVA_HOME=/usr/java/jdk1.6.0_24#cd /usr/hadoop-1.0.2/#vi conf/hadoop-env.sh安装环境配置完成后,就可以对 had

12、oop 进行测试。Hadoop 集群有三种运行模式:单机模式、伪分布式模式和完全分布式模式。1、 默认情况下为单机模式,方便调试工作:#mkdir input#cd input#echo “hello world” test1.txt#echo “hello hadoop” test2.txt#bin/hadoop jar hadoop-examples-1.0.2.jar wordcount input output查看执行结果:#cat output/*可以看到与原先输入 txt 文件的内容词数相符合。当再次用其他的实例进行测试时:#cp conf/*xml input/#bin/hado

13、op jar hadoop-examples-1.0.2.jar grep input/ output/ dfsa-z.+提示 output 文件夹已经存在的错误,如图:所以进行以上操作之前需要先删除原先的输出文件夹 output:#rm -rf output/#bin/hadoop jar hadoop-examples-1.0.2.jar grep input/ output/ dfsa-z.+#cat output/*查看结果为:2、 伪分布式模式:对 hadoop1.0.2 /conf/目录中的 core-site.xml, hdfs-site.xml, mapred-site.xml

14、 进行相应的配置:core-site.xmlhdfs-site.xmlmapred-site.xml配置完 hadoop 的配置文件后,进行免密码 SSH 设置:#ssh-keygen -t rsa进入/home/roy/.ssh/目录,执行如下命令:#cp id_rsa.pub authorized_keys#ssh localhost运行 hadoop 之前,需要格式化分布式文件系统:#sudo bin/hadoop namenode format启动 hadoop 守护进程:#bin /start-all.shhttp:/localhost:50070http:/localhost:50

15、030http:/localhost:50060把输入文件复制到分布式文件系统中:#bin/hadoop fs put conf input运行一个提供的实例:#sudo bin/hadoop jar hadoop-examples-1.0.2.jar grep input/ output/ dfsa-z.+把输出文件从分布式文件系统中复制到本地文件系统中并查看:# bin/hadoop fs -get output output# cat output/*或者直接查看分布式系统中的输出文件:# bin/hadoop fs -cat output/*都完成以后就可以关闭守护进程:# bin/stop-all.sh运行 WordCount 实例:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。