title: Hadoop safemode recovery - taking too long!
body: <p>I have a Hadoop cluster with 18 data nodes.
  I restarted the name node over two hours ago and the name node is still in safe mode.</p>
  
  <p>I have been searching for why this might be taking too long and I cannot find a good answer.
  The posting here:
  <a href="https://stackoverflow.com/questions/2792020/hadoop-safemode-recovery-taking-lot-of-time">Hadoop safemode recovery - taking lot of time</a>
  is relevant but I'm not sure if I want/need to restart the name node after making a change to this setting as that article mentions:</p>
  
  <pre><code>&lt;property&gt;
   &lt;name&gt;dfs.namenode.handler.count&lt;/name&gt;
   &lt;value&gt;3&lt;/value&gt;
   &lt;final&gt;true&lt;/final&gt;
  &lt;/property&gt;
  </code></pre>
  
  <p>In any case, this is what I've been getting in 'hadoop-hadoop-namenode-hadoop-name-node.log':</p>
  
  <pre><code>2011-02-11 01:39:55,226 INFO org.apache.hadoop.ipc.Server: IPC Server handler 0 on 8020, call delete(/tmp/hadoop-hadoop/mapred/system, true) from 10.1.206.27:54864: error: org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot delete /tmp/hadoop-hadoop/mapred/system. Name node is in safe mode.
  The reported blocks 319128 needs additional 7183 blocks to reach the threshold 0.9990 of total blocks 326638. Safe mode will be turned off automatically.
  org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot delete /tmp/hadoop-hadoop/mapred/system. Name node is in safe mode.
  The reported blocks 319128 needs additional 7183 blocks to reach the threshold 0.9990 of total blocks 326638. Safe mode will be turned off automatically.
      at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.deleteInternal(FSNamesystem.java:1711)
      at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.delete(FSNamesystem.java:1691)
      at org.apache.hadoop.hdfs.server.namenode.NameNode.delete(NameNode.java:565)
      at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:616)
      at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:508)
      at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:966)
      at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:962)
      at java.security.AccessController.doPrivileged(Native Method)
      at javax.security.auth.Subject.doAs(Subject.java:416)
      at org.apache.hadoop.ipc.Server$Handler.run(Server.java:960)
  </code></pre>
  
  <p>Any advice is appreciated.
  Thanks!</p>