设备:3台virtual box虚拟机(centos6.6),构成完全分布式模式的集群
机器名 IP
www.centos.vampire(master) 192.168.1.211
Slave1.Hadoop 192.168.2.223
Slave2.Hadoop 192.168.1.222
软件:jdk-7u76-linux-i586.gz
hadoop-1.2.1.tar.gz
看了不少资料,发现Hadoop的安装可以概括为几个关键步骤:
1.Java环境的配置;2.SSH无密码验证配置;3.Hadoop集群安装与配置;4.Hadoop的启动及验证
本篇主要介绍前两个部分。
Java环境的配置
①先检测centos本身是否自带OpenJDK(检测方法:java -version)。
②删除OpenJDK
[root@www~]# rpm -qa | grep java
XXXXXXXXX
XXXXXXXXX
[root@www~]# rpm -e --nodeps XXXXXX
[root@www~]# rpm -e --nodeps XXXXXX
[root@www~]# java -version
-bash: /usr/bin/java: No such file or directory③安装Java配置环境
mkdir /usr/local/java
将 hadoop-1.2.1.tar.gz解压到/usr/local/java下
在/etc/profile中配置环境,在最后加入以下几行
保存后:source /etc/profile,使/etc/profile生效
java -version验证安装是否成功~
用此方法,在三台虚拟机上,配置Java。
SSH无密码验证配置(提前在三台主机上建立名为hadoop的用户)
Hadoop运行过程中需要管理远端Hadoop守护进程,在Hadoop启动以后,NameNode是通过SSH(Secure Shell)来启动和停止各个DataNode上的各种守护进程的。这就必须在节点之间执行指令的时候是不需要输入密码的形式,故我们需要配置SSH运用无密码公钥认证的形式,这样NameNode使用SSH无密码登录并启动DataName进程,同样原理,DataNode上也能使用SSH无密码登录到NameNode。
原理:
Master(NameNode | JobTracker)作为客户端,要实现无密码公钥认证,连接到服务器Salve(DataNode | Tasktracker)上时,需要在Master上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到所有的Slave上。当Master通过SSH连接Salve时,Salve就会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master。Master收到加密数之后再用私钥解密,并将解密数回传给Slave,Slave确认解密数无误之后就允许Master进行连接了。这就是一个公钥认证过程,其间不需要用户手工输入密码。重要过程是将客户端Master复制到Slave上。
(转自http://www.cnblogs.com/xia520pi/archive/2012/05/16/2503949.html)
我在这篇http://blog.youkuaiyun.com/vampire_vivan/article/details/41176383中已经介绍如何ssh无密码验证。最终得到的效果应该是:Master能无密码验证登录每个Slave,每个Slave也能无密码验证登录到Master。
本文详细介绍在三台CentOS虚拟机上搭建Hadoop集群的过程,包括Java环境配置与SSH无密码验证配置两大关键步骤。
3257

被折叠的 条评论
为什么被折叠?



