복붙노트

[HADOOP] 네임 노드가 시작되지 않음

HADOOP

네임 노드가 시작되지 않음

의사 배포 모드에서 Hadoop을 사용하고 있었고 모든 것이 잘 작동했습니다. 그런데 어떤 이유로 컴퓨터를 다시 시작해야했습니다. 그리고 지금 Namenode와 Datanode를 시작하려고 할 때 나는 Datanode 만 실행 중임을 알 수 있습니다. 누구든지이 문제의 가능한 이유를 말할 수 있습니까? 아니면 내가 잘못하고있는거야?

나는 bin / start-all.sh와 bin / start-dfs.sh를 시도했다.

해결법

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

    1.나는 시작하지 않는 namenode의 문제에 직면했다. 다음과 같은 방법으로 해결책을 찾았습니다.

    나는 시작하지 않는 namenode의 문제에 직면했다. 다음과 같은 방법으로 해결책을 찾았습니다.

    검사 점을 사용하여 롤백 할 수도 있습니다 (사용하도록 설정 한 경우).

  2. ==============================

    2.core-site.xml의 hadoop.tmp.dir은 기본적으로 /tmp/hadoop-${user.name}이며, 재부팅 할 때마다 정리됩니다. 이것을 재부팅 할 때 정리되지 않는 다른 디렉토리로 변경하십시오.

    core-site.xml의 hadoop.tmp.dir은 기본적으로 /tmp/hadoop-${user.name}이며, 재부팅 할 때마다 정리됩니다. 이것을 재부팅 할 때 정리되지 않는 다른 디렉토리로 변경하십시오.

  3. ==============================

    3.다음 단계는 hadoop 2.2.0으로 저에게 도움이되었습니다.

    다음 단계는 hadoop 2.2.0으로 저에게 도움이되었습니다.

    1 단계 중지

    hduser@prayagupd$ /usr/local/hadoop-2.2.0/sbin/stop-dfs.sh
    

    2 단계 tmp 폴더 제거

    hduser@prayagupd$ sudo rm -rf /app/hadoop/tmp/
    

    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
    

    의도적 인 4 단계 형식

    hduser@prayagupd$ hdfs namenode -format
    

    STEP 5 dfs 시작

    hduser@prayagupd$ /usr/local/hadoop-2.2.0/sbin/start-dfs.sh
    

    6 단계 jps 확인

    hduser@prayagupd$ $ jps
    11342 Jps
    10804 DataNode
    11110 SecondaryNameNode
    10558 NameNode
    
  4. ==============================

    4.conf / hdfs-site.xml에서 다음과 같은 속성을 가져야합니다.

    conf / hdfs-site.xml에서 다음과 같은 속성을 가져야합니다.

    <property>
        <name>dfs.name.dir</name>
        <value>/home/user/hadoop/name/data</value>
    </property>
    

    "dfs.name.dir"속성을 사용하면 Hadoop이 NameNode 메타 데이터를 쓰는 위치를 제어 할 수 있습니다. / tmp가 아닌 다른 dir을 지정하면 재부팅 할 때 NameNode 데이터가 삭제되지 않습니다.

  5. ==============================

    5.새 터미널을 열고 path-to-your-hadoop-install / bin / hadoop namenode를 사용하여 namenode를 시작하십시오.

    새 터미널을 열고 path-to-your-hadoop-install / bin / hadoop namenode를 사용하여 namenode를 시작하십시오.

    jps 및 namenode를 사용하는 검사가 실행 중이어야합니다.

  6. ==============================

    6.여기서 대부분의 답변은 모든 데이터를 삭제하고 다시 포맷 한 다음 Hadoop을 다시 시작해야한다고 가정합니다. namenode가 진행되지 않고 시간이 많이 걸리는 것을 어떻게 알 수 있습니까? HDFS에 많은 양의 데이터가있을 때이 작업을 수행합니다. 걸려 있거나 걸린 것이 있다고 가정하기 전에 로그의 진행률을 확인하십시오.

    여기서 대부분의 답변은 모든 데이터를 삭제하고 다시 포맷 한 다음 Hadoop을 다시 시작해야한다고 가정합니다. namenode가 진행되지 않고 시간이 많이 걸리는 것을 어떻게 알 수 있습니까? HDFS에 많은 양의 데이터가있을 때이 작업을 수행합니다. 걸려 있거나 걸린 것이 있다고 가정하기 전에 로그의 진행률을 확인하십시오.

    $ [kadmin@hadoop-node-0 logs]$ tail hadoop-kadmin-namenode-hadoop-node-0.log
    
    ...
    016-05-13 18:16:44,405 INFO org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader: replaying edit log: 117/141 transactions completed. (83%)
    2016-05-13 18:16:56,968 INFO org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader: replaying edit log: 121/141 transactions completed. (86%)
    2016-05-13 18:17:06,122 INFO org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader: replaying edit log: 122/141 transactions completed. (87%)
    2016-05-13 18:17:38,321 INFO org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader: replaying edit log: 123/141 transactions completed. (87%)
    2016-05-13 18:17:56,562 INFO org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader: replaying edit log: 124/141 transactions completed. (88%)
    2016-05-13 18:17:57,690 INFO org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader: replaying edit log: 127/141 transactions completed. (90%)
    

    이것은 특정 시스템에서 거의 한 시간 동안 기다린 후였습니다. 내가 그것을 볼 때마다 여전히 진행 중이다. 시스템이 작동하지 않을 때, 또는 진행 중이 아닌 것으로 가정하기 전에 Hadoop에 인내심을 갖고 시스템을 불러오고 로그를 확인하십시오.

  7. ==============================

    7.hadoop1.2.1 버전을 사용하고 namenode를 실행할 수없는 사용자는 core-site.xml로 이동하여 dfs.default.name을 fs.default.name으로 변경하십시오.

    hadoop1.2.1 버전을 사용하고 namenode를 실행할 수없는 사용자는 core-site.xml로 이동하여 dfs.default.name을 fs.default.name으로 변경하십시오.

    그리고 $ hadoop namenode -format을 사용하여 namenode를 포맷하십시오.

    마지막으로 start-dfs.sh를 사용하여 hdfs를 실행하고 jps를 사용하여 서비스를 확인하십시오.

  8. ==============================

    8.core-site.xml에서 :

    core-site.xml에서 :

        <configuration>
           <property>
              <name>fs.defaultFS</name>
              <value>hdfs://localhost:9000</value>
           </property>
           <property>
              <name>hadoop.tmp.dir</name>
              <value>/home/yourusername/hadoop/tmp/hadoop-${user.name}
             </value>
      </property>
    </configuration>
    

    와 namenode의 형식 :

    hdfs 추구 - 형식

    hadoop 2.8.1에서 일했다.

  9. ==============================

    9.conf / hdfs-site.xml dfs.name.dir을 변경 했습니까?

    conf / hdfs-site.xml dfs.name.dir을 변경 했습니까?

    변경 한 후에는 namenode를 형식화하십시오.

    $ bin/hadoop namenode -format
    $ bin/hadoop start-all.sh
    
  10. ==============================

    10.시스템을 재부팅 한 후에이 문제가 발생하면 아래 단계를 잘 수행 할 것입니다.

    시스템을 재부팅 한 후에이 문제가 발생하면 아래 단계를 잘 수행 할 것입니다.

    해결 방법.

    1) 목적을 정한다. bin / hadoop namodode -format

    2) 모든 프로세스를 다시 시작하십시오. bin / start-all.sh

    Perm 수정의 경우 : -

    1) /conf/core-site.xml로 이동하여 fs.default.name을 사용자 정의로 변경하십시오.

    2) 목적 포맷 : bin / hadoop ford-format

    3) 모든 프로세스를 다시 시작하십시오. bin / start-all.sh

  11. ==============================

    11.같은 문제에 직면했다.

    같은 문제에 직면했다.

    (1) .xml 파일, 특히 xml 태그 구성에서 타이핑 실수를 항상 확인하십시오.

    (2) bin 디렉토리로 이동하십시오. ./start-all.sh를 입력하십시오.

    (3) 그런 다음 jps를 입력하여 프로세스가 작동하는지 확인하십시오

  12. ==============================

    12.core-site.xml에 hadoop.tmp.dir 속성을 추가하십시오.

    core-site.xml에 hadoop.tmp.dir 속성을 추가하십시오.

    <configuration>
      <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
      </property>
      <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/yourname/hadoop/tmp/hadoop-${user.name}</value>
      </property>
    </configuration>
    

    형식 hdfs (hadoop 2.7.1) :

    $ hdfs namenode -format
    

    core-default.xml의 기본값은 /tmp/hadoop-${user.name}이며 재부팅 후에 삭제됩니다.

  13. ==============================

    13.이 시도,

    이 시도,

    1) 모든 hadoop 프로세스를 중지하십시오. stop-all.sh

    2) 수동으로 tmp 폴더를 제거하십시오.

    3) 목적의 형식 : hadoop 목적 - 형식

    4) 모든 프로세스 시작 : start-all.sh

  14. ==============================

    14.hadoop을 실행할 때 기본 설정을 유지하면 namenode의 포트는 50070이됩니다.이 포트에서 실행중인 프로세스를 찾아서 먼저 제거해야합니다.

    hadoop을 실행할 때 기본 설정을 유지하면 namenode의 포트는 50070이됩니다.이 포트에서 실행중인 프로세스를 찾아서 먼저 제거해야합니다.

    이 블로그를 참조하십시오.

  15. ==============================

    15.나를 위해 namenode의 디렉토리를 변경 한 후 다음과 같이 작업했다. hdfs-site.xml의 데이터 노드

    나를 위해 namenode의 디렉토리를 변경 한 후 다음과 같이 작업했다. hdfs-site.xml의 데이터 노드

    - 다음 단계를 실행하기 전에 stop-all.sh로 모든 서비스를 중지 시키십시오. 또는 제 경우에는 stop-dfs.sh를 사용하여 dfs를 중지하십시오.

    이 단계를 수행 한 후에는 새 구성된 디렉토리를 사용하여 namenode 및 datanode가 활성화되었습니다.

  16. ==============================

    16.$ hadoop namenode를 실행하여 전경에서 namenode를 수동으로 시작했습니다.

    $ hadoop namenode를 실행하여 전경에서 namenode를 수동으로 시작했습니다.

    로그에서 나는 dfs.namenode.http-address에 의해 디폴트로 사용 된 50070이 점유되었다는 것을 알아 냈습니다. hdfs-site.xml에 dfs.namenode.http-address를 설정하면 모든 것이 잘되었습니다.

  17. ==============================

    17.나는 다시 시작한 후에 똑같은 것을 만났다.

    나는 다시 시작한 후에 똑같은 것을 만났다.

    hadoop-2.7.3에서 namenode를 포맷해야만했다.

    <HadoopRootDir>/bin/hdfs namenode -format
    

    그런 다음 jps 명령을 사용하면

    6097 DataNode
    755 RemoteMavenServer
    5925 NameNode
    6293 SecondaryNameNode
    6361 Jps
    
  18. ==============================

    18.

    I got the solution just share with you that will work who got the errors:
    
    1. First check the /home/hadoop/etc/hadoop path, hdfs-site.xml and
    
     check the path of namenode and datanode 
    
    <property>
      <name>dfs.name.dir</name>
        <value>file:///home/hadoop/hadoopdata/hdfs/namenode</value>
    </property>
    
    <property>
      <name>dfs.data.dir</name>
        <value>file:///home/hadoop/hadoopdata/hdfs/datanode</value>
    </property>
    
    2.Check the permission,group and user of namenode and datanode of the particular path(/home/hadoop/hadoopdata/hdfs/datanode), and check if there are any problems in all of them and if there are any mismatch then correct it. ex .chown -R hadoop:hadoop in_use.lock, change user and group
    
    chmod -R 755 <file_name> for change the permission
    
  19. ==============================

    19.리소스 관리자의 데이터 폴더를 삭제 한 후에 문제가 사라졌습니다. 서식을 지정해도이 문제를 해결할 수 없습니다.

    리소스 관리자의 데이터 폴더를 삭제 한 후에 문제가 사라졌습니다. 서식을 지정해도이 문제를 해결할 수 없습니다.

  20. ==============================

    20.당신의 namenode가 안전 모드에서 멈춘다면 당신은 namenode, s hdfs user로 ssh 할 수 있고 다음 명령을 실행하여 안전 모드를 끌 수 있습니다 :

    당신의 namenode가 안전 모드에서 멈춘다면 당신은 namenode, s hdfs user로 ssh 할 수 있고 다음 명령을 실행하여 안전 모드를 끌 수 있습니다 :

    hdfs dfsadmin -fs hdfs://server.com:8020 -safemode leave
    
  21. ==============================

    21.namenode를 포맷하는 대신, 아래 명령을 사용하여 namenode를 재시작 할 수 있습니다. 그것은 나를 위해 일했다 :

    namenode를 포맷하는 대신, 아래 명령을 사용하여 namenode를 재시작 할 수 있습니다. 그것은 나를 위해 일했다 :

    sudo 서비스 hadoop-master 재시작

  22. from https://stackoverflow.com/questions/8076439/namenode-not-getting-started by cc-by-sa and MIT license