NameNode格式化后无法启动

更新时间:2025-02-11 01:42:13

本文介绍在EMR集群对NameNode格式化后如何启动NameNode。

具体报错

ERROR namenode.NameNode: Failed to start namenode.

问题原因

EMR集群上以root用户权限执行命令hadoop namenode -formatNameNode格式化,启动NameNode需要切换为hdfs用户,但hdfs用户对这些root用户拥有的文件没有权限,从而无法启动NameNode。

解决方案

  1. 停止所有HDFS服务,包括NameNode、DataNode等相关服务。

  2. 切换到hdfs用户执行格式化操作。

    su hdfs
    hadoop namenode -format
    说明
    • hadoop namenode -format属于高危操作,会格式化hdfs,删掉里面的所有元数据。由于用户已使用root用户执行过,所以当前hdfs中没有数据才执行该命令。

    • 如果在执行格式化操作时仍然有部分目录报权限问题,请给hdfs用户授权后再执行格式化操作。

  3. 执行以下命令重启服务。

    /usr/lib/hadoop-current/sbin/hadoop-daemon.sh start namenode
  4. 验证服务是否正常。

    1. 执行以下命令查看文件是否能正常读写。

      hadoop fs -ls
      hadoop fs -put
      hadoop fs -get
    2. 执行一个MapReduce作业,验证YARN是否正常。

  • 本页导读 (1)
  • 具体报错
  • 问题原因
  • 解决方案
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等