【问题标题】:error in namenode starting名称节点启动错误
【发布时间】:2023-04-07 23:38:01
【问题描述】:

当我尝试在主节点上启动 hadoop 时,我得到以下输出。并且 namenode 没有启动。

[hduser@dellnode1 ~]$ start-dfs.sh
starting namenode, logging to /usr/local/hadoop/bin/../logs/hadoop-hduser-namenode-dellnode1.library.out
dellnode1.library: datanode running as process 5123. Stop it first.
dellnode3.library: datanode running as process 4072. Stop it first.
dellnode2.library: datanode running as process 4670. Stop it first.
dellnode1.library: secondarynamenode running as process 5234. Stop it first.
[hduser@dellnode1 ~]$ jps
5696 Jps
5123 DataNode
5234 SecondaryNameNode

【问题讨论】:

  • 你检查过Namenode日志吗(我认为默认是$HADOOP_HOME/logs)?大部分时间里面的信息都很清楚。
  • 你能分享你的日志文件吗?
  • 而不是使用 jps(仅显示当前用户的进程),您能否在集群节点(dellnode1 和 dellnode2)上运行 ps axww | grep hadoop 并将该输出粘贴回您的原始问题

标签: hadoop namenode


【解决方案1】:

“先停止”。

  • 第一次调用 stop-all.sh

  • 键入 jps

  • 调用 start-all.sh(或 start-dfs.sh 和 start-mapred.sh)

  • 输入 jps(如果 namenode 没有出现输入“hadoop namenode”并检查错误)

【讨论】:

【解决方案2】:

根据在较新版本的 hardoop 上运行“stop-all.sh”,这已被弃用。你应该改用:

stop-dfs.sh

stop-yarn.sh

【讨论】:

    【解决方案3】:

    今天,在执行 pig 脚本时,我遇到了问题中提到的相同错误:

    starting namenode, logging to /usr/local/hadoop/libexec/../logs/hadoop-training-namenode-localhost.localdomain.out
    localhost: /home/training/.bashrc: line 10: /jdk1.7.0_10/bin: No such file or directory
    localhost: Warning: $HADOOP_HOME is deprecated.
    localhost: 
    localhost: starting datanode, logging to /usr/local/hadoop/libexec/../logs/hadoop-training-datanode-localhost.localdomain.out
    localhost: /home/training/.bashrc: line 10: /jdk1.7.0_10/bin: No such file or directory
    localhost: Warning: $HADOOP_HOME is deprecated.
    localhost: 
    localhost: starting secondarynamenode, logging to /usr/local/hadoop/libexec/../logs/hadoop-training-secondarynamenode-localhost.localdomain.out
    starting jobtracker, logging to /usr/local/hadoop/libexec/../logs/hadoop-training-jobtracker-localhost.localdomain.out
    localhost: /home/training/.bashrc: line 10: /jdk1.7.0_10/bin: No such file or directory
    localhost: Warning: $HADOOP_HOME is deprecated.
    localhost: 
    localhost: starting tasktracker, logging to /usr/local/hadoop/libexec/../logs/hadoop-training-tasktracker-localhost.localdomain.out
    

    所以,答案是:

    [training@localhost bin]$ stop-all.sh
    

    然后输入:

    [training@localhost bin]$ start-all.sh
    

    问题将得到解决。现在您可以使用 mapreduce 运行 pig 脚本了!

    【讨论】:

      【解决方案4】:

      在 Mac 中(如果您使用自制软件安装)其中 3.0.0 是 Hadoop 版本。在 Linux 中相应地更改安装路径(只有这部分会更改。/usr/local/Cellar/)。

      > /usr/local/Cellar/hadoop/3.0.0/sbin/stopyarn.sh
      > /usr/local/Cellar/hadoop/3.0.0/sbin/stopdfs.sh
      > /usr/local/Cellar/hadoop/3.0.0/sbin/stop-all.sh"
      

      更适合专业用户在您的~/.bashrc~/.zshrc(如果您是zsh 用户)的末尾写下这个alias。每次您想停止 Hadoop 和所有相关进程时,只需在命令行中输入 hstop

      alias hstop="/usr/local/Cellar/hadoop/3.0.0/sbin/stop-yarn.sh;/usr/local/Cellar/hadoop/3.0.0/sbin/stop-dfs.sh;/usr/local/Cellar/hadoop/3.0.0/sbin/stop-all.sh"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多