您的位置:首页 > 运维架构

Hadoop学习笔记(安装--上篇)

2015-03-13 16:33 197 查看
设备: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.csdn.net/vampire_vivan/article/details/41176383中已经介绍如何ssh无密码验证。最终得到的效果应该是:Master能无密码验证登录每个Slave,每个Slave也能无密码验证登录到Master。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: