Hadoop – namenode is not starting up
我正在尝试以 root 用户身份运行 hadoop,我在 Hadoop 文件系统运行时执行了 namenode 格式命令 hadoop namenode -format。
在此之后,当我尝试启动名称节点服务器时,它显示如下错误
1
2 3 4 5 |
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) |
我试图寻找任何解决方案,但找不到任何明确的解决方案。
有人可以推荐吗?
谢谢。
- 你盯着你的 HDFS 守护进程了吗?看这里它可能会帮助 blog.abhinavmathur.net/2013/01/…
- 谢谢Abhinav ..您的链接给了我答案..
- 为什么要在守护进程运行时格式化 HDFS?
- 错误地这样做了..之后只有我知道,我不应该那样做..
DFS 需要格式化。停止所有后只需发出以下命令,然后重新启动。
1
|
hadoop namenode -format
|
酷,我找到了解决方案。
停止所有正在运行的服务器
1
|
1) stop-all.sh
|
编辑文件 /usr/local/hadoop/conf/hdfs-site.xml 并添加以下配置(如果缺少)
1
2 3 4 5 6 7 8 9 10 |
<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 守护进程
1
2 |
2) start-dfs.sh
3) start-mapred.sh |
然后现在运行其余步骤以运行此链接中给出的 map reduce 示例
注意:如果直接命令未运行,您应该运行命令 bin/start-all.sh。
- 提醒一下,namenode 需要为我格式化。 bin/hadoop namenode -format
- 对。如果我们遇到任何问题,我们可以使用命令 hadoop namenode -format -force
- 这样做之后,即使是 DataNode 也不再出现在 JPS 上 :(
namenode 停止时格式化 hdfs。(就像上面的答案一样)。
我添加了更多细节。
FORMAT 命令将检查或创建路径/dfs/name,并对其进行初始化或重新初始化。
然后运行 ??start-dfs.sh 将运行 namenode、datanode,然后是 namesecondary。
当namenode检查不存在路径/dfs/name或未初始化时,会发生致命错误,然后退出。
这就是namenode无法启动的原因。
更多细节你可以查看 HADOOP_COMMON/logs/XXX.namenode.log
确保您为 namenode 指定的目录完全为空。所述目录中的”丢失”文件夹之类的东西会触发此错误。
确保名称(dfs.name.dir)和数据(dfs.data.dir)文件夹的目录在 hdfs-site.xml 中正确列出
首先 mkdir [文件夹],然后设置 hdfs-site.xml 然后格式化
hdfs-site.xml 你的值是错误的。您输入了错误的文件夹,这就是没有启动名称节点的原因。
来源:https://www.codenong.com/16713011/