Hadoop的安装
1、实现linux的ssh无密码验证配置.
2、修改linux的机器名,并配置/etc/hosts
3、在linux下安装jdk,并配好环境变量
4、在windows下载hadoop 1.0.1,并修改hadoop-env.sh,l,
5、创建一个给hadoop备份的文件。
6、把hadoop的bin加入到环境变量
7、修改部分运行文件的权限
8、格式化hadoop,启动hadoop
注意:这个顺序并不是一个写死的顺序,就得按照这个来。如果你知道原理,可以打乱顺序来操作,比
如1、2、3,先哪个后哪个,都没问题,但是有些步骤还是得依靠一些操作完成了才能进行,新手建议按照顺序来。
一、实现linux的ssh无密码验证配置
(1)配置理由和原理
Hadoop需要使用SSH协议,namenode将使用SSH协议启动namenode和datanode进程,(datanode向namenode传递心跳信息可能也是使用SSH协议,这是我认为的,还没有做深入了解)。大概意思是,namenode 和datanode之间发命令是靠ssh来发的,发命令肯定是在运行的时候发,发的时候肯定不希望发一次就弹出个框说:有一台机器连接我,让他连吗。所以就要求后台namenode和datanode 无障碍的进行通信。
以namenode到datanode为例子:namenode作为客户端,要实现无密码公钥认证,连接到服务端datanode上时,需要在namenode上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到datanode上。当namenode通过ssh连接datanode时,datanode就会生成一个随机数并用namenode的公钥对随机数进行加密,并发送给namenode。namenode收到加密数之后再用私钥进行解密,并将解密数回传给datanode,datanode确认解密数无误之后就允许namenode 进行连接了。这就是一个公钥认证过程,其间不需要用户手工输入密码。重要过程是将客户端namenode公钥复制到datanode上。
(2)具体操作
生成密钥的方法,是操作在namenode上的,在linux上输入ssh-keygen  -t  rsa 一直回车,可以生成密钥。我们办公室的namenode上已经有了生成好的密钥,所以不用生成。只需将namenode上的密钥copy下来,复制到需要装hadoop的电脑上即可。
1、在namenode上到/root/.ssh 文件,会看到两个文件id_rsa.pub,id_rsa。
然后执行cp id_rsa.pub  authorized_keys
然后ssh localhost验证是否成功,第一次要你输入yes,以后就不需要了。(这是自我验证,把id_rsa.pub 文件拷贝到authorized_keys,然后自我检验,自己连自己看看能否成功)
2、拷贝密钥
方法一:你可以使用WinSCP软件,将authorized_keys文件复制到datanode的/root/.ss件里。
方法二:你可以在linux上输入
[root@namenode1 ~]# cd /root/.ssh
[root@namenode1 .ssh]# ls
authorized_keys id_rsa id_rsa.pub known_hosts
[root@namenode1 .ssh]# sz authorized_keys(将文件下载到你电脑)
然后在你要装datanode上输入
[root@datanode1_3 ~]# cd /root/.ssh
[root@datanode1_3 .ssh]# rz(选择文件上传到datanode的对应文件上)将authorized_keys传到datanode的/root/.ssh 上。
方法三:输入命令行:
[root@namenode1 .ssh] #scp authorized_keys 192.168.1.109(datanode的IP):/root/.ssh
这是拷贝命令,将namenode上的authorized_keys 拷贝到datanode
的/root/,ssh 上。
(3)验证配置成功的方法
java安装完整教程
在namenode上输入:ssh datanode的IP地址(或者在hosts文件配置好后,也可以使用datanode的机器名)
第一次连接时,会出现一个问题,输入yes,就可以连到datanode的机子上了,无需密码。
root@namenode1 ~]# ssh datanode1_2
The authenticity of host 'datanode1_2 (192.168.1.117)' can't be established.RSAkeyfingerprintis2b:3b:84:66:fb:bd:b1:a7:77:ae:49:7 7:52:a8:53:7d.Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'datanode2' (RSA) to the list of known hosts.
Last login: Wed Apr 25 15:57:15 2012
[root@datanode1_2 ~]#
我们可以看到我们已经转到了datanode上了。
注意:
(1)当你ssh连到datanode之后,也就是你已经转到了该datanode下,不在原来的机器上了。你可以输入命令行:#exit 回到原来的机器。
(2)namenode ssh到datanode是不需要密码的,但是datanode ssh到namenode上是需要密码的。
二、修改linux机器名
(1)查看主机名
在命令行输入:hostname
[root@namenode1 /]# cd
[root@namenode1 ~]# hostname
namenode1
这是你的主机名。
(2)修改主机名(这一步主要是修改主机,让主机记住分机)
1、执行cd /etc/sysconfig,进入/etc/sysconfig目录下
2、执行vi network,修改network文件,
NETWORKING=yes
HOSTNAME=hadoopName(修改成你需要的)
把HOSTNAME改成你想要的机器名,办公室的电脑是改成namenode 和datanode,保存。
3、执行cd  /etc,进入/etc目录下
4、执行vi hosts
[root@namenode1 etc]# vi hosts
192.168.1.115 namenode1 namenode1
192.168.1.116 datanode1_1 datanode1_1
192.168.1.117 datenode1_2 datanode1_2
192.168.1.111 datenode1_3 datanode1_3
192.168.1.109 datenode1_4 datanode1_4
127.0.0.1 localhost.localdomain localhost
要加入的datanode,把IP地址和机器名加在后面。这一步是让主机记住datanode的名字。所以在修改datanode的hosts时,只需写入namenode和你需要加入hadoop机器的datanode的IP地址及机器名就好。
[root@datanode1_4 etc]# vi hosts
127.0.0.1 localhost.localdomain localhost
192.168.1.115 namenode1 namenode1
192.168.1.109 datanode1_4 datanode1_4
5、输入hostname检查主机名。
重启电脑之后执行hostname命令。
三、安装JDK,并配置环境变量
(1)安装JDK
先在linux下面建一个目录用来安装jdk,我建的目录是/usr/program,就是以后jdk安装到这个目录下面。
在namenode上已经下载有最新的JDK安装包,不需要重新下载,直

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。