복붙노트

[HADOOP] Hadoop 오류 - 모든 데이터 노드가 중단됩니다.

HADOOP

Hadoop 오류 - 모든 데이터 노드가 중단됩니다.

Hadoop 2.3.0 버전을 사용하고 있습니다. 경우에 따라지도 축소 작업을 실행하면 아래 오류가 표시됩니다.

14/08/10 12:14:59 INFO mapreduce.Job: Task Id : attempt_1407694955806_0002_m_000780_0, Status : FAILED
Error: java.io.IOException: All datanodes 192.168.30.2:50010 are bad. Aborting...
    at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.setupPipelineForAppendOrRecovery(DFSOutputStream.java:1023)
    at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.processDatanodeError(DFSOutputStream.java:838)
    at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:483)

이러한 실패한 작업에 대한 로그 파일을 검사하려고하면이 작업의 로그 폴더가 비어 있습니다.

이 오류의 원인을 이해할 수 없습니다. 누군가이 문제를 해결하는 방법을 알려 주시기 바랍니다. 당신의 도움을 주셔서 감사합니다.

해결법

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

    1.사용자의 열린 파일 핸들 제한을 치는 것 같습니다. 이 꽤 일반적인 문제이며, 대부분의 경우에 ulimit 값을 증가시킵니다 (기본적으로 대부분 1024 개이며 쉽게 당신과 같은 멀티 아웃 작업으로 소진 될 수 있음).

    사용자의 열린 파일 핸들 제한을 치는 것 같습니다. 이 꽤 일반적인 문제이며, 대부분의 경우에 ulimit 값을 증가시킵니다 (기본적으로 대부분 1024 개이며 쉽게 당신과 같은 멀티 아웃 작업으로 소진 될 수 있음).

    이 짧은 안내서에 따라 늘릴 수 있습니다. http://blog.cloudera.com/blog/2009/03/configuration-parameters-what-can-you-just-ignore/ [ "파일 설명자 제한"절

    의해 답변을 Harsh J - https://groups.google.com/a/cloudera.org/forum/#!topic/cdh-user/kJRUkVxmfhw

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

    2.spark.shuffle.service.enabled를 true로 설정하면이 문제가 해결되었습니다.

    spark.shuffle.service.enabled를 true로 설정하면이 문제가 해결되었습니다.

    spark.dynamicAllocation.enabled를 사용하면 Spark가 executor를 다른 작업에 동적으로 할당 할 수 있습니다. spark.shuffle.service.enabled를 false로 설정하면 외부 셔플 서비스가 비활성화되고 데이터는 실행 프로그램에만 저장됩니다. 집행 인이 재 할당되면 데이터가 손실되고 예외가 발생합니다

    데이터 요청을 위해 throw됩니다.

  3. from https://stackoverflow.com/questions/25232179/hadoop-error-all-data-nodes-are-aborting by cc-by-sa and MIT license