文章目录
前言
最近在 Win10 系统上配置了ubuntu-18.04.3,在配置集群的 ssh 无秘钥登录时,经常能碰到 ssh: connect to host master port 22: Connection timed out 的问题,经过分析之后我发现一般有两种原因会导致这种情况,接下来我们一一进行探讨。
一、错误场景描述
在配置集群的 ssh 无秘钥登录时,经常能碰到 ssh: connect to host master port 22: Connection timed out 的问题,具体如下图所示:
二、问题总结及解决办法
现在对该问题做一下可能出现的问题总结和解决办法。
2.1、IP 配置错误及解决方法
当出现上述错误时,首先检查网络连通情况,Ping 一下远程登录的目标主机,如果 ping 不通,很有可能是 /etc/hosts 文件中的 IP 地址映射出现问题,需要仔细检查名称和 IP 地址的映射关系。
映射关系一定要配置成功,具体如下图所示:
Ping 一下,数据包没有丢失,说明没有问题,具体如下图所示:
2.2、端口被防火墙禁用及解决方法
当发现 IP 配置没有错误时,我们需要检查端口是否被防火墙禁用了,使用 sudo service iptables status 命令查看防火墙状态,如果出现:
Table: filter Chain INPUT (policy ACCEPT) num target prot opt source destination 1 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 2 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 3 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
我们可以看到,ssh 登陆的默认端口 22 被禁止了。
我们使用 sudo chkconfig iptables off 来永久关闭防火墙,如果使用 sudo service iptables stop 将临时关闭防火墙,会在下一次关机重启后重置,所以建议使用第一种。
总结
在本文中我们总结了两种方式用于解决 Apache Hadoop 启动报错:masternode:ssh: connect to host master port 22: Connection timed out,一种是 IP 配置错误,一种是端口被防火墙禁用。类似于 ping 一下的检查手段有很多,要养成职业素养,第一时间有意识的运用这些手段进行检查,这样遇到问题事半功倍。
我是白鹿,一个不懈奋斗的程序猿。望本文能对你有所裨益,欢迎大家的一键三连!若有其他问题、建议或者补充可以留言在文章下方,感谢大家的支持!