本节向大家介绍一下Hadoop完全分布模式安装方法,你可以和之前介绍的两种模式做一下对比,看看那种模式更适合你,欢迎大家一起来学习Hadoop完全分布模式安装。
Hadoop完全分布模式安装
Hadoop概念
Hadoop是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。
简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。
Hadoop实现了一个分布式文件系统(HadoopDistributedFileSystem),简称HDFS。HDFS有着高容错性(fault-tolerent)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(highthroughput)来访问应用程序的数据,适合那些有着超大数据集(largedataset)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streamingaccess)文件系统中的数据。当前最新版本是hadoop0.20.1。下面就hadoop0.20.1为蓝本,介绍在UbuntuLinux9.10下hadoop完全分布模式安装的方法。
支持的平台:
Linux,可作为开发和产品部署的平台;
Windows,可作为开发平台。
事先需要的软件:
1.JavaTM1.6.x,必须安装,建议选择Sun公司发行的Java版本;
2.ssh必须安装,并保证sshd运行,hadoop将以ssh进行通讯;
3.如果是windows,则需要装Cygwin,用以支持shell命令。
安装可用的模式:
1.本地模式;
2.伪分布模式;
3.完全分布模式。
Hadoop完全分布模式安装步骤(这里的步骤只让hadoop能跑,不带任何调优步骤):
1.下载并解压hadoop到集群中某台服务器目标目录。
2.配置/etc/hosts文件
2.1确认集群中所有服务器均有hostname,并记录IP
2.2每一台服务器的/etc/hosts文件里配置hostname和IP对应关系,加快解析速度。
3.配置SSH免密码登陆
3.1每台服务器上运行:
$ssh-keygen-tdsa-P''-f~/.ssh/id_dsa
$cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys
3.2把各台服务器的~/.ssh/authorized_keys文件内容合并到一个总的authorized_keys文件;
3.3把那个总的authorized_keys文件scp到每台服务器,替换原有的authorized_keys文件;
3.4互相SSH对方机器,确认SSH登陆不需要密码
4.配置各台服务器时间,确保每台服务器时间相同;Hadoop完全分布模式安装过程中还要配置Hadoop。
5.配置hadoop
5.1配置conf/hadoop-env.sh文件
配置JAVA_HOME一行,配置正确的路径。
5.2配置conf/core-site.xml文件
- viewplaincopytoclipboardprint?
- <configuration>
- <property>
- <name>fs.default.name</name>
- <value>hdfs://host:9000</value>
- </property>
- </configuration>
- <configuration>
- <property>
- <name>fs.default.name</name>
- <value>hdfs://host:9000</value>
- </property>
- </configuration>
注:这里的host必须改为对应的namenode的hostname
5.3配置conf/hdfs-site.xml文件
如果不修改使用默认设置也可以。
5.4配置conf/mapred-site.xml文件
- viewplaincopytoclipboardprint?
- <configuration>
- <property>
- <name>mapred.job.tracker</name>
- <value>localhost:9001</value>
- </property>
- </configuration>
- <configuration>
- <property>
- <name>mapred.job.tracker</name>
- <value>localhost:9001</value>
- </property>
- </configuration>
注:这里的host必须改为对应的namenode的hostname
6.配置conf/slaves和conf/master文件
slaves文件里写datanode的hostname或IP,master里写namenode、secondarynamenode的hostname或IP,每行写一个服务器,以#开头的行视为注释。
7.分发hadoop
直接通过scp,把hadoop整个目录复制到各台服务器的相同目录即可
8.格式化hadoop的namenode
执行命令:$bin/hadoopnamenode-format
9.启动hadoop
执行命令:$bin/start-all.sh
至此,Hadoop完全分布模式安装完毕,通常启动到所有服务器完全识别出来需要一定的时间(我这里是5分钟左右),要耐心等待,在namenode节点上,打开浏览器,输入http://localhost:50070/即可看到整个hadoop情况,JobTracker情况可以看每一个服务器的http://localhost:50030/。
【编辑推荐】