1. 创建hadoop用户
输入命令:Sudo addgroup hadoop (创建hadoop用户组)
Sudo adduser --ingroup hadoop hadoop1 (添加用户hadoop到hadoop组)
设置密码为:hadoop
给hadoop用户赋权限
sudo gedit /etc/sudoers
在root ALL=(ALL:ALL) ALL下添加
hadoop ALL=(ALL:ALL) ALL
2.实现SSH无密码登陆
(1) 首先设置namenode的ssh为无需密码的、自动登录。
切换到hadoop用户( 保证用户hadoop可以无需密码登录,因为我们后面安装的hadoop属主是hadoop用户。)
$ su hadoop
cd /home/hadoop
$ ssh-keygen -t rsa
然后一直按回车
完成后,在home跟目录下会产生隐藏文件夹.ssh
$ cd .ssh
之后ls 查看文件
cp id_rsa.pub authorized_keys
测试:
$ssh localhost
或者:
$ ssh master.hadoop
第一次ssh会有提示信息:
The authenticity of host ‘node1 (10.64.56.76)’ can’t be established.
RSA key fingerprint is 03:e0:30:cb:6e:13:a8:70:c9:7e:cf:ff:33:2a:67:30.
Are you sure you want to continue connecting (yes/no)?
输入 yes 来继续。这会把该服务器添加到你的已知主机的列表中
发现链接成功,并且无需密码。
(2) 复制authorized_keys到slave1.hadoop 和slave2.hadoop 上
为了保证master.hadoop 可以无需密码自动登录到slave1.hadoop 和slave2.hadoop ,先在slave1.hadoop 和slave2.hadoop 上执行
$ su hadoop
cd /home/hadoop
$ ssh-keygen -t rsa
一路按回车.
然后回到master.hadoop ,复制authorized_keys到slave1.hadoop 和slave1.hadoop
[hadoop@hadoop .ssh]$ scp authorized_keys
slave1.hadoop :/home/hadoop/.ssh/
[hadoop@hadoop .ssh]$ scp authorized_keys
slave2.hadoop :/home/hadoop/.ssh/
这里会提示输入密码,输入hadoop账号密码就可以了。
改动 authorized_keys 文件的许可权限
[hadoop@hadoop .ssh]$chmod 644 authorized_keys
测试:ssh slave1.hadoop 或者sshslave2.hadoop (第一次需要输入yes)。
如果不须要输入密码则配置成功,如果还须要请检查上面的配置能不能正确。
上图说明,已经无需密码登录了slave1.hadoop
上图说明,已经无需密码登录了slave2.hadoop
说明 :上面两个图中,ssh登录后,均出现欢迎信息和帮助信息网址,这会浪费登录时间,如何关闭显示这些信息呢,请参见文章《
修改 Ubuntu SSH 登录后的欢迎信息
》