복붙노트

[HADOOP] Hadoop이 "비정상적인 노드 로컬 디렉토리 및 로그 디렉토리가 좋지 않습니다"라고보고하는 이유는 무엇입니까?

HADOOP

Hadoop이 "비정상적인 노드 로컬 디렉토리 및 로그 디렉토리가 좋지 않습니다"라고보고하는 이유는 무엇입니까?

내 PC에 단일 노드 Hadoop 2.6.0 클러스터를 설치하려고합니다.

http : // localhost : 8088 / cluster를 방문하면 내 노드가 "비정상적인 노드"로 표시됩니다.

상태 보고서에서 오류를 제공합니다.

1/1 local-dirs are bad: /tmp/hadoop-hduser/nm-local-dir; 
1/1 log-dirs are bad: /usr/local/hadoop/logs/userlogs

뭐가 문제 야?

해결법

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

    1.local-dirs의 가장 흔한 원인은 노드에서 원사의 최대 디스크 사용률 - 디스크 - 백분율 기본값 90.0 %를 초과하는 사용 가능한 디스크 공간 때문입니다.

    local-dirs의 가장 흔한 원인은 노드에서 원사의 최대 디스크 사용률 - 디스크 - 백분율 기본값 90.0 %를 초과하는 사용 가능한 디스크 공간 때문입니다.

    비정상적인 노드가 실행중인 디스크를 정리하거나 yarn-site.xml에서 임계 값을 늘리십시오

    <property>
      <name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
      <value>98.5</value>
    </property>
    

    결국 디스크에 공간이 부족하거나 권한 문제가있는 경우 작업이 실패 할 수 있으므로 디스크 검사를 비활성화하지 마십시오. 자세한 내용은 yarn-site.xml 디스크 검사기 섹션을 참조하십시오.

    디렉토리에 파일 시스템 오류가 의심되는 경우 다음을 실행하여 확인할 수 있습니다.

    hdfs fsck /tmp/hadoop-hduser/nm-local-dir
    
  2. ==============================

    2.yarn-site.xml에 config를 추가하십시오.

    yarn-site.xml에 config를 추가하십시오.

    <property>
       <name>yarn.nodemanager.disk-health-checker.enable</name>
       <value>false</value>
    </property>
    

    그것은 내 사이트에서 작동 할 수 있습니다.

    그리고 / usr / local / hadoop / logs를 실행하십시오. 전의:

    rm -rf /usr/local/hadoop/logs
    mkdir -p /usr/local/hadoop/logs
    
  3. ==============================

    3.yarn-site.xml의 yarn.nodemanager.log-dirs에 의해 구성된 잘못된 로그 디렉토리 위치로 인해 발생할 수도 있습니다. 사실 디렉터리에 존재하지 않거나 잘못된 사용 권한이 설정되어 있습니다.

    yarn-site.xml의 yarn.nodemanager.log-dirs에 의해 구성된 잘못된 로그 디렉토리 위치로 인해 발생할 수도 있습니다. 사실 디렉터리에 존재하지 않거나 잘못된 사용 권한이 설정되어 있습니다.

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

    4.처음에는 비슷한 문제가있었습니다.

    처음에는 비슷한 문제가있었습니다.

    그런 다음 또 다른 문제를 발견했습니다. jps 명령을 사용할 때 NameNode, DataNode 등과 같은 일부 프로세스가 누락되었습니다.

    $jps
    13696 Jps
    12949 ResourceManager
    13116 NodeManager
    

    그런 다음 나는 다음과 같이 고쳤다. 해결책  비정상적인 노드 문제가 자동으로 수정되었습니다.

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

    5.bado를 사용하여 Hadoop을 설치 한 macOS에서 다음을 포함하도록 /usr/local/Cellar/hadoop/2.8.1/libexec/etc/hadoop/yarn-site.xml을 변경해야했습니다.

    bado를 사용하여 Hadoop을 설치 한 macOS에서 다음을 포함하도록 /usr/local/Cellar/hadoop/2.8.1/libexec/etc/hadoop/yarn-site.xml을 변경해야했습니다.

    <property>
      <name>yarn.nodemanager.disk-health-checker.min-healthy-disks</name>
      <value>0</value>
    </property>
    

    이 설정은 기본적으로 디스크 상태 검사를 완전히 해제했습니다.

    추출 목록을 사용하여 파일을 찾았습니다.

    $ brew list hadoop | grep yarn-site.xml
    /usr/local/Cellar/hadoop/2.8.1/libexec/etc/hadoop/yarn-site.xml
    /usr/local/Cellar/hadoop/2.8.1/libexec/share/hadoop/tools/sls/sample-conf/yarn-site.xml
    
  6. ==============================

    6.비슷한 문제가 있었는데, hdfs가 90 %에 도달했을 때 sqoop 업로드가 중단되었습니다. 최대 디스크 사용량 - 디스크 - 사용률 및 경보 임계 값 정의에 대한 임계 값을 변경 한 후 업로드가 다시 작동합니다. 감사

    비슷한 문제가 있었는데, hdfs가 90 %에 도달했을 때 sqoop 업로드가 중단되었습니다. 최대 디스크 사용량 - 디스크 - 사용률 및 경보 임계 값 정의에 대한 임계 값을 변경 한 후 업로드가 다시 작동합니다. 감사

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

    7.디스크가 90 % (> df 사용)이고 불필요한 파일을 제거하여 85 % (기본 설정 인 yarn.nodemanager.disk-health-checker.max-disk-per-disk- yarn-site.xml에 지정하지 않으면 백분율이 사용 가능한 디스크의 90 %를 사용하고 있습니다.) 문제가 해결되었습니다.

    디스크가 90 % (> df 사용)이고 불필요한 파일을 제거하여 85 % (기본 설정 인 yarn.nodemanager.disk-health-checker.max-disk-per-disk- yarn-site.xml에 지정하지 않으면 백분율이 사용 가능한 디스크의 90 %를 사용하고 있습니다.) 문제가 해결되었습니다.

    이 효과는 사용률을 90 % 이상으로 높이는 것과 비슷합니다 (추가 공간을 꽉 짜려면 90 % 찼습니다). 추가 공간을 쥐어 짜기 만하면됩니다. 그러나 어쨌든 90 % 이상에 도달하지 않는 것이 좋습니다.

  8. from https://stackoverflow.com/questions/29131449/why-does-hadoop-report-unhealthy-node-local-dirs-and-log-dirs-are-bad by cc-by-sa and MIT license