복붙노트

[HADOOP] Hadoop 안전 모드 복구 - 너무 오래 걸림!

HADOOP

Hadoop 안전 모드 복구 - 너무 오래 걸림!

Hadoop 클러스터에 18 개의 데이터 노드가 있습니다. 2 시간 전에 이름 노드를 다시 시작했고 이름 노드는 여전히 안전 모드 상태입니다.

나는 왜 이것이 너무 오래 걸릴지를 조사해 왔으며 나는 좋은 대답을 찾을 수 없다. 여기에 게시 : 하둡 safemode 복구 - 많은 시간을 들이기 관련이 있지만 내가 원한다면 /이 문서에 언급 된대로이 설정을 변경 한 후 이름 노드를 다시 시작해야하는지 잘 모르겠습니다.

<property>
 <name>dfs.namenode.handler.count</name>
 <value>3</value>
 <final>true</final>
</property>

어쨌든, 이것은 내가 'hadoop-hadoop-namenode-hadoop-name-node.log'에 들어가는 것입니다 :

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)

모든 조언을 부탁드립니다. 감사!

해결법

  1. ==============================

    1.한 번, 어떤 블록이보고 된 적이없는 곳이있었습니다. namenode가 safemode (hadoop dfsadmin -safemode leave)를 떠나도록하고 나서 누락 된 파일을 삭제하기 위해 fsck를 실행해야했습니다.

    한 번, 어떤 블록이보고 된 적이없는 곳이있었습니다. namenode가 safemode (hadoop dfsadmin -safemode leave)를 떠나도록하고 나서 누락 된 파일을 삭제하기 위해 fsck를 실행해야했습니다.

  2. from https://stackoverflow.com/questions/4966592/hadoop-safemode-recovery-taking-too-long by cc-by-sa and MIT license