Hadoop步骤二:设置免密码登录

一:ssh 安装

(1)创建hadoop用户, 设置密码

[root@localhost ~]# useradd hadoop; passwd hadoop

(2) 对 hadoop 用户启用 sudo 命令

[root@master ~]# vi /etc/sudoers
添加内容
hadoop  ALL=(ALL)       ALL


---------------------------------文件只读无法保存的情况----------------------------------------
如果提示文件readonly(文件只读无法保存的情况),则采用强制保存命令 wq! ,即后面加上一个感叹号!


(3)修改hosts (所有节点)

链接master节点和slave节点关系
[root@master ~]# vi /etc/hosts;
====注释掉:就是在前面加上#
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
====添加:
master主机:
master ip(内网)
slave  ip(外网)

slave主机
slave  ip(外网)
master ip(内网)

(4) 登录hadoop用户

[root@master ~]# su - hadoop;

(5) 每个节点生成密钥对并把公钥发送到要免密登陆的节点上

  -----------------------------(先master头节点,后slave子节点)----------------------------------------
[hadoop@master ~]# ssh-keygen -t rsa -P '';ssh-copy-id -i master;ssh-copy-id -i slave1;ssh-copy-id -i slave2;
----------------------------------------注意事项---------------------------------------------------------------------
ssh-keygen -t rsa -P ''; ------------------- 一直回车默认就可以了

ssh-copy-id -i xxxx;     ------------------- 先yes后回车
 


(7)验证是否成功(所有节点)

[hadoop@master root]$ ssh master
[hadoop@master root]$ ssh slave1
[hadoop@master root]$ ssh slave2

二:shh问题

(1) 解决免密登录的缺陷(建议成功后弄)

-----------------------------(先master头节点,后slave子节点)----------------------------------------

REMOTE HOST IDENTIFICATION HAS CHANGED! 
翻译过来就是 警告:远程主机标识已更改!
此报错是由于远程的主机的公钥发生了变化导致的。 
ssh服务是通过公钥和私钥来进行连接的,它会把每个曾经访问过计算机或服务器的公钥(public key),记录在~/.ssh/known_hosts 中,当下次访问曾经访问过的计算机或服务器时,ssh就会核对公钥,如果和上次记录的不同,OpenSSH会发出警告。

[root@master ~]# ssh  localhost
如果让你输入密码的,那就是本机的免密配置没有配置。
-------------------------------------解决办法--------------------------------------------------------------------
登录hadoop用户,输入命令,再次启动集群就不会再出现标题所现问题
[root@master ~]# cat /home/hadoop/.ssh/id_rsa.pub >> /home/hadoop/.ssh/authorized_keys;ssh localhost;zkServer.sh start;zkServer.sh status;


(2) 错误: SSH时出现WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

-------------------------------------问题分析----------------------------------------------

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 
翻译过来就是 
警告:远程主机标识已更改!
此报错是由于远程的主机的公钥发生了变化导致的。 
ssh服务是通过公钥和私钥来进行连接的,它会把每个曾经访问过计算机或服务器的公钥(public key),记录在~/.ssh/known_hosts 中,当下次访问曾经访问过的计算机或服务器时,ssh就会核对公钥,如果和上次记录的不同,OpenSSH会发出警告。
-------------------------------------解决办法-----------------------------------------------
步骤一:使用命令清除所连接的IP,并重新链接
[hadoop@master ~]$
ssh-keygen -R XX.XX.XX.XX 
<!--

其中,XX.XX.XX.XX为之前连接时的网段IP,就是不成功的网段IP
比如:ssh-keygen -R 172.20.10.2
------内容如何
重新连接,出现一句,输入:yes 回车 
Are you sure you want to continue connecting (yes/no)?

-->

步骤二:执行ssh问题1的代码


(3) 针对配置好后,有时候会出项 ssh XXX 需要密码的问题

-------------------------------------问题分析-------------------------------------
[root@master ~]# ssh XXX
root@XXX's password:需要输入密码
这可能是因为不小心在执行问题2时,清楚了所链接的ip

xxx:为主机名
-------------------------------------解决办法-------------------------------------
步骤一: 使用命令,重新将公钥发送到要免密登录的节点
[hadoop@master ~]# ssh-copy-id -i xxx;

xxx:为主机名
步骤二:使用命令解决,免密缺陷
[hadoop@master ~]# cat /home/hadoop/.ssh/id_rsa.pub >> /home/hadoop/.ssh/authorized_keys;ssh localhost;zkServer.sh start;zkServer.sh status;

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值