前文回顾:
三台电脑,一台做主机,两台做从机。主机名分别是
master,slave1,slave2,ip分别是192.168.235.1~3
系统:ubuntu14.04
jdk:1.8.0_91
hadoop: 2.7.2 (stable)
用户名:hadoop
从零开始的安装步骤:
1 创建Hadoop用户组
2 下载jdk,hadoop,ssh,eclipse等等,
3 实现几台机之间的ssh无密码登陆
4 配置环境(jdk,hadoop单机)
5 改host和hostname文件
6 在主机上修改和配置
7 把修改好的hadoop文件夹整个复制到从机上
8 主机上格式化namenode,并开始运行整个工程
9 jps查看运行状态
10 主机上关闭整个工程
接上一篇,本文讲第二和第三个步骤:
*下载安装各种必须的东西,如jdk,hadoop,ssh等
* 实现几台机之间的ssh无密码登陆
1 下载jdk
写这篇博客的时候最新版jdk是1.8.0_111,最新版的eclipse 似乎必须用jdk1.8以上,hadoop3 开始只能用jdk1.8以上,so……
jdk1.8下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
据说旧版hadoop用jdk1.8无法编译,但是目前装配阶段未发现jdk1.8+hadoop2.7.2有问题,以防万一可以多下载个jdk1.7备用(个人觉得默认1.8会好点)
jdk1.7下载地址(开始难找了):
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
2 下载hadoop
hadoop最近出了最新版的3,2.7中最新版是2.7.3,不过为了稳定点选了2.7.2(括号stable稳定版)
所有版本都有source(源码)和binary(已编译)版本,我选了后者,直接解压可用
2.7.2 binary 下载地址:
http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz
3 下载ssh
Ubuntu已经默认安装了SSH client,所以只要再安装一下SSH server即可.
$sudo apt-get install openssh-server
安装完成后可以测试登录本机
$ssh localhost
提示输入本机密码,没其他什么报错就是成功了
4 下载eclipse
在eclipse的官网上找最新版下载就好。要看清楚是installer,ee,web还是完整版
另外eclipse操作hadoop需要hadoop插件,网上能够找得到。
由于暂时未用到本人跳过了这部分,以后会再补充。
5 主从机之间ssh无密码登陆
因为hadoop运行过程中需要主从机很频繁地用ssh登陆,如果没有无密码登陆会需要一直输入密码,(rp如我输多了还可能挂)
以下用A机称呼主机,BC机称呼从机(怪我懒,懂就好)
(1)现在所有新用户文件夹下都是空的,至少要生成.ssh文件夹。所以在所有机下生成公钥/私钥对。
$ssh-keygen -t rsa -P ''
-P表示密码,-P ” 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。
它在/home/hadoop下生成.ssh目录,.ssh下有id_rsa和id_rsa.pub。
(2).把A机下的id_rsa.pub复制到B,C机下,在B机的.ssh/authorized_keys文件里,我用scp复制。BC机暂时没打算让它们登A机,若要,同理。
$scp id_rsa.pub hadoop@192.168.235.2:/home/hadoop/master_key.pub
The authenticity of host '192.168.235.2 (192.168.235.2)' can't be established. ECDSA key fingerprint is fa:e5:b2:84:fa:3d:48:e8:ad:ac:e2:c3:8b:dc:56:91. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.235.2' (ECDSA) to the list of known hosts. hadoop@192.168.235.2's password:
id_rsa.pub 100% 395 0.4KB/s 00:00
由于还没有免密码登录的,所以要输入密码。
(3).BC机把从A机复制的id_rsa.pub添加到.ssh/authorzied_keys文件里。
$cat master_key.pub >> .ssh/authorized_keys
$chmod 600 .ssh/authorized_keys
authorized_keys的权限要是600。
(4)在(2)中可以看到,ssh登陆提示The authenticity of host can’t be established,可能会一直要你输入yes/no。
修改/etc/ssh/ssh_config文件的配置,最后面添加:
StrictHostKeyChecking no
可以不再提示。
(5).A机登录BC机。
$ssh hadoop@192.168.235.2
如果看到以下就是成功了
Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.16.0-45-generic x86_64)
Documentation: https://help.ubuntu.com/
438 packages can be updated.
260 updates are security updates.
PS:免密码登陆是分用户的(跟.ssh文件夹在用户文件夹下有关),如果机上有多个用户,如abc和hadoop,记得scp和ssh的时候用hadoop用户,另一个用户需要登陆的话需要重新从(1)开始生成密钥。
下一篇继续。