一: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时,清楚了所链接的ipxxx:为主机名
-------------------------------------解决办法-------------------------------------
步骤一: 使用命令,重新将公钥发送到要免密登录的节点
[hadoop@master ~]# ssh-copy-id -i xxx;文章来源:https://www.toymoban.com/news/detail-741181.htmlxxx:为主机名
步骤二:使用命令解决,免密缺陷
[hadoop@master ~]# cat /home/hadoop/.ssh/id_rsa.pub >> /home/hadoop/.ssh/authorized_keys;ssh localhost;zkServer.sh start;zkServer.sh status;文章来源地址https://www.toymoban.com/news/detail-741181.html
到了这里,关于Hadoop步骤二:设置免密码登录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!