Namenode没有开始

54 hadoop hdfs

我在伪分布式模式下使用Hadoop,一切正常.但是由于某些原因我不得不重新启动计算机.现在,当我尝试启动Namenode和Datanode时,我发现只有Datanode正在运行.谁能告诉我这个问题的可能原因?或者我做错了什么?

我想这两个bin/start-all.shbin/start-dfs.sh.

小智 98

我面临着namenode无法启动的问题.我发现使用以下解决方案:

  1. 首先删除临时文件夹中的所有内容:( rm -Rf <tmp dir>我的是/ usr/local/hadoop/tmp)
  2. 格式化namenode: bin/hadoop namenode -format
  3. 再次启动所有进程:bin/start-all.sh

您可以考虑使用检查点回滚(如果已启用它).

  • 可以在设置时在conf/core-site.xml中查找他/她的临时位置定义,您可以为此标记赋予一些值<name> hadoop.tmp.dir </ name> <value>/app /的hadoop的/ tmp </值> (5认同)

Pra*_*ati 37

hadoop.tmp.dir在core-site.xml中默认/tmp/hadoop-${user.name}每次重新启动后清理.将此更改为其他目录,在重新启动时不会清除.


pra*_*upd 25

以下STEPS使用hadoop 2.2.0为我工作,

第1步停止hadoop

hduser@prayagupd$ /usr/local/hadoop-2.2.0/sbin/stop-dfs.sh
Run Code Online (Sandbox Code Playgroud)

第2步删除tmp文件夹

hduser@prayagupd$ sudo rm -rf /app/hadoop/tmp/
Run Code Online (Sandbox Code Playgroud)

STEP 3创建/ app/hadoop/tmp /

hduser@prayagupd$ sudo mkdir -p /app/hadoop/tmp
hduser@prayagupd$ sudo chown hduser:hadoop /app/hadoop/tmp
hduser@prayagupd$ sudo chmod 750 /app/hadoop/tmp
Run Code Online (Sandbox Code Playgroud)

STEP 4格式namenode

hduser@prayagupd$ hdfs namenode -format
Run Code Online (Sandbox Code Playgroud)

STEP 5启动dfs

hduser@prayagupd$ /usr/local/hadoop-2.2.0/sbin/start-dfs.sh
Run Code Online (Sandbox Code Playgroud)

STEP 6检查jps

hduser@prayagupd$ $ jps
11342 Jps
10804 DataNode
11110 SecondaryNameNode
10558 NameNode
Run Code Online (Sandbox Code Playgroud)