当前位置: 首页 > news >正文

Hadoop 启动,发现 namenode、secondary namenodes,这两个没有启动,报错超时。

        今天在启动 hadoop 的时候,发现本应该同时启动的 namenode、secondary namenodes 却都没有启动。我还以为是坏了又重新装了虚拟机,重新下载 Hadoop 重新配置结果还是同样的问题,那没办法只能去解决问题了。

        首先先再次尝试启动看他报错是什么。

        好这个 namenode 是启动失败的了,那么报错信息翻译过来就算连接超时嘛。

        其实这个应该还是很好解决的,我上网一搜还是很多效果教程的,但结果出乎意料的网上的就没有一个是我实用的,因为我花了一个下午的时间去一个个方法试过了都不起作用🤦‍。那来我这手把手教你如何排查如何解决此问题:

        首先我这边错误的情况是:运行start-all.sh脚本后,尝试连接到主机xxx的22端口时超时,namenodes和secondary namenodes启动失败,而datanodes、resourcemanager和nodemanagers可能启动成功。

可能的根本原因包括:SSH服务未运行、防火墙设置阻止了连接、网络配置问题(如IP或主机名解析错误)、SSH密钥认证问题,或者主机名配置不正确。

首先检查SSH服务是否在 主机上运行,使用 systemctl status sshd 或 service ssh status 命令。如果服务未启动,需要启动它。接着查看防火墙状态,确认22端口是否开放,可能需要临时关闭防火墙或添加规则。

然后检查网络连通性,尝试 ping xxx 是否正常,还有SSH密钥配置是否正确,用户是否设置了无密码登录,尤其是在Hadoop集群中,各节点之间通常需要配置免密SSH。需要确认公钥是否添加到 authorized_keys 文件中,权限是否正确。

检查SSH服务状态

systemctl status sshd  # 查看SSH服务状态
sudo systemctl start sshd  # 如果未运行,启动SSH服务

验证本地SSH连接

ssh xxx

如果连接失败,可能原因包括:

  • SSH服务未运行。

  • 防火墙阻止了SSH端口(默认22)。

  • /etc/hosts 或 DNS 解析错误。

检查防火墙设置

确保防火墙允许SSH端口(22)的通信:

sudo ufw status  # 查看防火墙状态(Ubuntu)
sudo firewall-cmd --list-ports  # CentOS/RHEL

如果防火墙启用且未开放22端口:

sudo ufw allow 22  # Ubuntu
sudo firewall-cmd --permanent --add-port=22/tcp && sudo firewall-cmd --reload  # CentOS

好经过上面的检查如果一切正常,再次尝试启动看看能不能启动了,好如果还不行也可以看看尝试单独启动:

单独启动的命令可以看:https://blog.csdn.net/m0_74132943/article/details/142152157?spm=1001.2014.3001.5501

如果你尝试了上面的内容后还是无法启动:那么继续:

检查主机名解析

确保 /etc/hosts 文件中 xxx 正确映射到本机IP(非127.0.0.1127.0.1.1):

vi /etc/hosts

修改完后记得:wq 保存文件;红色部分是你的 ip 地址,还有你的主机名。再重试启动Hadoop

【来到这里,我的问题就解决了,因为我打错了,如图所示,我打成了 192.169.xxx.xxx ,实际上应该是 192.168.xxx.xxx 】

如果你的尝试了还是不行,别急后面还有几个通用招:

 验证SSH密钥认证

Hadoop需要无密码SSH登录到本机和其他节点。生成密钥并添加到授权列表:

ssh-keygen -t rsa  # 生成密钥(如果不存在)
ssh-copy-id xxx  # 将公钥复制到本机

检查 ~/.ssh/authorized_keys 是否包含你的公钥。

检查Hadoop配置文件

确认Hadoop配置文件中没有错误的主机名引用:

  • core-site.xml: 检查 fs.defaultFS 配置。

  • hdfs-site.xml: 检查 dfs.namenode.rpc-address

  • workers 或 slaves 文件:确认列出的主机名正确。

调试SSH连接

添加 -v 参数查看详细的SSH连接日志:

ssh -v xxx

观察日志中哪一步失败(例如密钥认证、网络超时)。

临时关闭SELinux(仅限测试环境):

如果SELinux阻止SSH,临时关闭它:

sudo setenforce 0  # 临时禁用
sudo vi /etc/selinux/config  # 永久禁用需修改为SELINUX=disabled

验证网络接口

确保网络接口(如 eth0 或 ens33)处于活动状态:

ip a  # 查看IP地址分配

总结

根据你的错误信息,最可能的原因是:

  1. SSH服务未启动。

  2. 防火墙阻止了SSH端口。

  3. /etc/hosts 中 xxx 解析到了错误的IP地址。

  4. 未正确配置无密码SSH登录。

请按上述步骤逐一排查,并在完成每步后尝试重启Hadoop:

stop-all.sh
start-all.sh

如果问题仍然存在,请提供以下信息:

  • cat /etc/hosts

  • ssh -v xxx 的输出片段

  • systemctl status sshd 的结果

如果你进行了这些操作还是失败,或是还有其它问题,欢迎私信或评论区讨论

希望文章的内容可以帮到你   : )

        如果文章对你有帮助,记得 点赞、收藏、关注👍⭐🧧

相关文章:

  • dify重磅升级:从0.15.3安全升级1.1.0新手避坑指南
  • 前端 | debounce 防抖 vs 节流(throttle)
  • 【人工智能-前端OpenWebUI】--图表显示
  • Oracle 19C分区表索引小结
  • 链式二叉树概念和结构
  • 【Java】Mybatis学习笔记
  • HTML5与CSS3新特性详解
  • C++回顾 day1
  • MATRIX-BREAKOUT: 2靶场
  • StarRocks中优雅处理JSON与列表字段的初步示例
  • sass介绍
  • 操作系统IO多路复用select,poll,epoll
  • 英语词性--介词
  • 基于springboot的网上订餐系统(006)
  • python:music21 与 AI 结合应用探讨
  • Unity Enlighten与Progressive GPU Lightmapper对比分析
  • 清晰易懂的 PHP 安装与配置教程
  • 【蓝桥杯速成】| 7.01背包练习生
  • Framebuffer应用编程
  • 科研项目验收管理系统
  • 高璞任中国第一汽车集团有限公司党委常委、副总经理
  • 读科学发展的壮丽史诗,也读普通人的传奇
  • “冲刺万亿城市”首季表现如何?温州领跑,大连GDP超徐州
  • 第二十届华表奖提名名单公布,张译、王一博、马丽、郭帆等入围
  • 共话城市自然之美,“微观黄浦”自媒体网络大V沙龙首场活动举行
  • 国家市场监管总局:民生无小事,严打民生领域侵权假冒违法行为