Hadoop集群启动后,缺少namenode或datanode进程

简述:NameNode 是 HDFS 的主节点,是负责管理整个 HDFS 集群的,相当于一个团队的老大,若没有启动,则不会进入web界面等。

问题描述:

 使用start-dfs.sh启动集群,然后使用jps查看进程时发现没有namenode或没有datanode。但是SecondaryNameNode、ResourceManager、NodeManage等。

分析: 

  1. namenode进程没有启动。在运行Hadoop集群之前,需要确保启动了namenode进              程,否则jps命令不会显示该进程。可以使用start-dfs.sh命令来启动Hadoop集群。
  2. namenode进程已经停止或崩溃。如果namenode进程由于某些原因停止或崩溃了,那么jps命令将不会显示该进程。可以检查namenode的日志文件,查看是否有任何错误或异常信息。

 解决办法:

        1. 删除使用hdfs namenode -format格式化后产生data、logs文件夹,并重建,注意所新建的目录必须是配置文件tmp中所对应的,而且如果是多台虚拟机,每台虚拟机都需要进行这样的操作,最后再到主节点重新格式化。

      步骤如下

进入hadoop目录下,使用rm -rf 命令删除data和logs

使用mkdir命令重建data和logs,注意是当前目录

所有节点都需要进行这样的操作,之后才能通过hdfs namenode -format格式化

   格式化之后使用./start-all.sh启动集群,并通过jps查看进程

 

此时节点的进程正常,即可正常运行

2. 查找占用端口的进程,kill掉它。

netstat -anp|grep 端口号

kill -9 7056(7056是进程号)

最后重新启动集群

也可通过修改core-site.xml文件,把端口号改成其他(具体端口根据需求进行修改)

### 解决 Hadoop 启动JPS 查看不到 NameNodeDataNode 进程 当遇到 Hadoop 集群启动之后通过 `jps` 命令查看不到 NameNode DataNode 进程的情况时,这通常意味着这些服务未能成功启动。以下是详细的解决方案: #### 清理残留数据和日志 如果之前尝试过格式化 NameNode 而未清理 `/opt/module/hadoop-3.1.3/data/dfs` 目录中的旧数据,则可能导致新的配置无法正常加载,进而影响节点间的通信以及集群的整体运行状态[^3]。 建议执行如下操作来清除历史记录: ```bash cd /opt/module/hadoop-3.1.3/data/dfs/ rm -rf * ``` 此命令会彻底移除该路径下的所有子文件夹及其内容,从而消除任何可能存在的冲突因素。 #### 正确格式化 NameNode 完成上述清理工作后,应当重新初始化分布式文件系统的元数据存储位置——即再次格式化 NameNode。注意,在执行这一动作前务必确认已经备份好重要资料以防意外丢失。 可以使用下面这条指令来进行格式化处理: ```bash hdfs namenode -format ``` #### 修改配置文件并重启集群 确保所有的 XML 配置文件都已按照官方文档的要求进行了适当调整;特别是 core-site.xml, hdfs-site.xml 中涉及端口号、主机名等关键参数设置要准确无误。随后停止现有实例再整体重起整个环境以使更改生效。 对于 HA(高可用)模式下部署的多副本架构而言,还需要特别关注 SecondaryNameNode 及 JournalNodes 的同步情况,因为它们共同参与维护着全局命名空间的一致性和可靠性[^2]。 一旦完成了以上步骤,应该能够顺利观察到预期的服务进程列表了。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值