복붙노트

[HADOOP] Hadoop의 데이터 복제 오류

HADOOP

Hadoop의 데이터 복제 오류

Michael Noll의 튜토리얼을 따라 내 컴퓨터에 Hadoop Single Node Cluster를 구현 중이며 데이터 복제 오류가 발생했습니다.

전체 오류 메시지는 다음과 같습니다.

또한 내가 실행할 때 :

bin/stop-all.sh

그것은 데이터 노드가 시작되지 않았으므로 중지 할 수 없다고 말합니다. 그래도 jps의 출력에는 데이터 노드가 있다고 표시됩니다.

namenode를 포맷하고 소유자 권한을 변경했지만 작동하지 않는 것 같습니다. 희망 나는 다른 어떤 관련 정보도 놓치지 않았다.

미리 감사드립니다.

해결법

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

    1.나에게 도움이되는 해결책은 bin / start -all.sh를 사용하여 namenode와 datanode를 하나씩 실행하는 것이 었습니다. 이 접근 방식을 사용하면 네트워크상의 데이터 노드를 설정하는 데 문제가 있고 또한 stackoverflow의 많은 게시물에서 namenode가 시작하는 데 약간의 시간이 필요하다고 제안하면 오류가 명확하게 눈에 띄게됩니다. 따라서 잠시 시간을 줘야합니다. 데이터 노드를 시작하기 전에 시작하십시오. 또한이 경우 namenode와 동일한 ID를 가진 datanode의 id를 변경해야하는 namenode와 datanode의 다른 ID에 문제가있었습니다.

    나에게 도움이되는 해결책은 bin / start -all.sh를 사용하여 namenode와 datanode를 하나씩 실행하는 것이 었습니다. 이 접근 방식을 사용하면 네트워크상의 데이터 노드를 설정하는 데 문제가 있고 또한 stackoverflow의 많은 게시물에서 namenode가 시작하는 데 약간의 시간이 필요하다고 제안하면 오류가 명확하게 눈에 띄게됩니다. 따라서 잠시 시간을 줘야합니다. 데이터 노드를 시작하기 전에 시작하십시오. 또한이 경우 namenode와 동일한 ID를 가진 datanode의 id를 변경해야하는 namenode와 datanode의 다른 ID에 문제가있었습니다.

    단계별 절차는 다음과 같습니다.

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

    2.네임 노드 (아마도 http : // localhost : 50070)를보고 얼마나 많은 데이터 노드가 있는지 확인하십시오.

    네임 노드 (아마도 http : // localhost : 50070)를보고 얼마나 많은 데이터 노드가 있는지 확인하십시오.

    값이 0이면 데이터 노드가 실행 중이 지 않거나 namenode에 연결하도록 구성되어 있지 않습니다.

    1이면 DFS에 여유 공간이 얼마나 있는지를 확인하십시오. 데이터 노드는 데이터를 쓸 수있는 곳이 없습니다 (데이터 디렉토리가 없거나 쓰기 권한이 없음).

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

    3.해결되었지만 향후 독자를 위해 추가 할 예정입니다. 코디가 namenode와 datanode의 시작을 검사하는 것에 대한 조언이 유용했고, 추가 조사를 통해 hadoop-store / dfs 디렉토리를 삭제할 수있었습니다. 이렇게하면 나를 위해이 오류가 해결되었습니다.

    해결되었지만 향후 독자를 위해 추가 할 예정입니다. 코디가 namenode와 datanode의 시작을 검사하는 것에 대한 조언이 유용했고, 추가 조사를 통해 hadoop-store / dfs 디렉토리를 삭제할 수있었습니다. 이렇게하면 나를 위해이 오류가 해결되었습니다.

  4. ==============================

    4.나는 같은 문제가 있었는데, 데이터 노드 로그를 살펴 봤는데 dfs.data.dir에 잘못된 권한이 있다는 경고가 있었는데 ... 그래서 방금 변경했고 모든 것이 작동했다.

    나는 같은 문제가 있었는데, 데이터 노드 로그를 살펴 봤는데 dfs.data.dir에 잘못된 권한이 있다는 경고가 있었는데 ... 그래서 방금 변경했고 모든 것이 작동했다.

    특히, "dfs.data.dir"은 "/ home / hadoop / hd_tmp"로 설정되었고, 오류는 다음과 같습니다.

    ...
    ...
    WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Invalid directory in dfs.data.dir: Incorrect permission for /home/hadoop/hd_tmp/dfs/data, expected: rwxr-xr-x, while actual: rwxrwxr-x
    ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: All directories in dfs.data.dir are invalid.
    ...
    ...
    

    그래서 나는이 명령들을 간단히 실행했다.

    그리고 모든 것이 잘 작동했습니다.

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

    5.필자의 경우, dfs.name.dir 및 dfs.data.dir에 대해 하나의 대상을 잘못 설정했습니다. 올바른 형식은 다음과 같습니다.

    필자의 경우, dfs.name.dir 및 dfs.data.dir에 대해 하나의 대상을 잘못 설정했습니다. 올바른 형식은 다음과 같습니다.

     <property>
     <name>dfs.name.dir</name>
     <value>/path/to/name</value>
     </property>
    
     <property>
     <name>dfs.data.dir</name>
     <value>/path/to/data</value>
     </property>
    
  6. ==============================

    6.hdfs-site.xml에서 추가 속성을 제거한 후이 문제는 사라졌습니다. Hadoop은 오류 메시지를 개선해야합니다. 위의 각 솔루션을 시도했지만 아무도 작동하지 않았습니다.

    hdfs-site.xml에서 추가 속성을 제거한 후이 문제는 사라졌습니다. Hadoop은 오류 메시지를 개선해야합니다. 위의 각 솔루션을 시도했지만 아무도 작동하지 않았습니다.

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

    7.같은 문제가 발생했습니다. 클러스터 요약에서 localhost : 50070을 보면 "DFS Used % 100"을 제외한 모든 속성이 0으로 표시되었습니다. 일반적으로이 상황은 HADOOP_INSTALL / conf 및 hosts 파일에있는 세 개의 * -site.xml 파일에 몇 가지 실수가 있기 때문에 발생합니다.

    같은 문제가 발생했습니다. 클러스터 요약에서 localhost : 50070을 보면 "DFS Used % 100"을 제외한 모든 속성이 0으로 표시되었습니다. 일반적으로이 상황은 HADOOP_INSTALL / conf 및 hosts 파일에있는 세 개의 * -site.xml 파일에 몇 가지 실수가 있기 때문에 발생합니다.

    내 경우 호스트 이름을 확인할 수 없습니다. 나는 단순히 "IP_Address hostname"을 / etc / hosts에 추가함으로써 문제를 해결했다.

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

    8.내 경우에는 다음을 삭제해야했습니다.

    내 경우에는 다음을 삭제해야했습니다.

    / tmp / hadoop- <사용자 이름> 폴더와 형식을 지정하고 sbin / start-dfs.sh를 사용하여 시작하십시오.

    sbin / start-yarn.sh

  9. from https://stackoverflow.com/questions/10447743/data-replication-error-in-hadoop by cc-by-sa and MIT license