Hadoop - namenode 未启动

问题描述 投票:0回答:10

我尝试以 root 用户身份运行 hadoop,当 Hadoop 文件系统运行时,我执行了 namenode format 命令

hadoop namenode -format

此后,当我尝试启动名称节点服务器时,它显示如下错误

13/05/23 04:11:37 ERROR namenode.FSNamesystem: FSNamesystem initialization failed.
java.io.IOException: NameNode is not formatted.
        at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:330)
        at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:100)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:411)

我尝试寻找任何解决方案,但找不到任何明确的解决方案。

有人可以建议吗?

谢谢。

hadoop
10个回答
28
投票

DFS需要格式化。只需在停止所有命令后发出以下命令,然后重新启动即可。

hadoop namenode -format

24
投票

酷,我找到了解决方案。

停止所有正在运行的服务器

1) stop-all.sh 

编辑文件

/usr/local/hadoop/conf/hdfs-site.xml
并添加以下配置(如果缺少)

<property>
    <name>dfs.data.dir</name>
    <value>/app/hadoop/tmp/dfs/name/data</value> 
    <final>true</final> 
    </property> 
    <property> 
    <name>dfs.name.dir</name>
    <value>/app/hadoop/tmp/dfs/name</value> 
    <final>true</final> 
</property>

启动 HDFS 和 MapReduce 守护进程

2) start-dfs.sh
3) start-mapred.sh

然后现在运行其余步骤来运行此链接

中给出的映射缩减示例

注意: 如果直接命令未运行,您应该运行命令

bin/start-all.sh


2
投票

当namenode停止时格式化hdfs。(就像上面的答案一样)。

我添加更多细节。

FORMAT命令将检查或创建path/dfs/name,并初始化或重新初始化它。 然后运行 start-dfs.sh 将运行 namenode、datanode,然后运行 name secondary。 当namenode检查不存在path/dfs/name或未初始化时,会发生致命错误,然后退出。 这就是 namenode 无法启动的原因。

更多详细信息可以查看HADOOP_COMMON/logs/XXX.namenode.log


1
投票

确保您为名称节点指定的目录完全为空。所述目录中类似“lost+found”文件夹的内容将触发此错误。


1
投票

经过大量搜索找到了解决方案 打开终端 然后运行

stop-all.sh

hadoop namenode -format

start-all.sh

在 Model Coding youtube 频道的社区帖子之一中找到了这个答案 发布链接


0
投票

hdfs-site.xml 你的值是错误的。您输入了错误的文件夹,这就是未启动名称节点的原因。


0
投票

首先mkdir [文件夹],然后设置hdfs-site.xml然后格式化


0
投票

确保名称(dfs.name.dir)和数据(dfs.data.dir)文件夹的目录在hdfs-site.xml中正确列出


0
投票

格式化名称节点对我有用

bin/hadoop namenode -format

0
投票

在格式化或删除任何内容之前,您可能首先想要找到您的 HADDOP/日志的路径

如果之前运行过

然后读取 hadoop-xxxx-namenode-xxxx.log 文件,如果有可用的错误,将会显示出来

就我而言,我发现最近安装了很多新东西,他们占用了我在 core-site.xml 上使用的端口 9000,将端口更改为免费端口后,当我运行 start-dfs.sh 时,namenode 又回来了

经过多次尝试,甚至切换版本,我才发现确实如此,所以可能不会丢失您的数据.. 我希望您能找到解决方案,情况可能会有所不同,但如果无法解决,您可以在这里发帖,也许我们中的一些人可能遇到同样的问题!

© www.soinside.com 2019 - 2024. All rights reserved.