简述: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文件,把端口号改成其他(具体端口根据需求进行修改)

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐