0


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;


本文转载自: https://blog.csdn.net/qq_74890367/article/details/131317512
版权归原作者 WengYang521 所有, 如有侵权,请联系我们删除。

“Hadoop步骤二:设置免密码登录”的评论:

还没有评论