Hadoop 오류 코드 -1000, 로컬 디렉토리에 사용 가능한 공간이 없습니다.

Nov 15 2020

다음과 같이 Hadoop 2.10.1이 설치된 Windows 7을 사용하고 있습니다. https://exitcondition.com/install-hadoop-windows/ 내 작업을 실행할 때 오류가 발생합니다.

INFO mapreduce.Job: 
Job job_1605374051781_0001 failed with state FAILED due to: 
Application application_1605374051781_0001 failed 2 times 
due to AM Container for appattempt_1605374051781_0001_000002 exited with 
exitCode: -1000 Failing this attempt.Diagnostics: 
[2020-11-14 18:17:54.217]No space available in any of the local directories.

예상되는 출력은 여러 줄의 텍스트이며 내 디스크는 거의 꽉 찼습니다 (최소 10GB 여유 공간). 이 코드는 대학의 지적 재산이기 때문에 여기에 게시 할 수없는 일반적인 맵리 듀스 작업입니다.

"사용 가능한 공간 없음"오류를 해결하는 방법에 대한 팁이 있습니까? 설명을 위해 내 PC 만 사용하고 있으며 다른 컴퓨터에는 연결되어 있지 않습니다.

추신 : 여기에서 말했듯이 해결했습니다. Hadoop 맵 축소 예제가 "banu reddy"사용자에 의해 실행중인 작업 에 붙어 있습니다.https://stackoverflow.com/users/4249076/banu-reddy 사용 가능한 HDD 공간은 디스크의 10 % 이상이어야합니다.

답변

1 Coursal Nov 15 2020 at 03:34

Hadoop의 작업은 프레임 워크의 분산 파일 시스템 일명 HDFS 내에서 실행 되며, 로컬 파일 시스템과 독립적으로 작동합니다 (분명한 바와 같이 단 하나의 시스템에서 작동하더라도).

이는 기본적으로 오류가 일반적으로 하드 드라이브가 아닌 HDFS에서 사용 가능한 디스크 공간을 참조했음을 의미합니다. HDFS에 작업을 실행하기에 충분한 디스크 공간이 있는지 확인하려면 터미널에서 다음 명령을 실행할 수 있습니다.

hdfs dfs -df -h

다음과 같은 출력을 가질 수 있습니다 (내 Hadoop 설정에 대한 경고 무시).

시스템의 명령 출력에 사용 가능한 디스크 공간이 부족하거나 존재하지 않는다고 표시되는 경우 먼저 저장된 디렉토리와 파일을 확인하여 HDFS에서 디렉토리를 개별적으로 삭제할 수 있습니다.

hadoop fs -ls

그런 다음 HDFS에서 각 디렉토리를 삭제합니다.

hadoop fs -rm -r name_of_the_folder

또는 HDFS의 파일 :

hadoop fs -rm name_of_the_file

또는 HDFS에 저장된 모든 항목을 비워서 곧 디스크 공간 제한에 도달하지 않도록 할 수 있습니다. 처음에 YARN 및 HDFS 데몬을 중지하여이를 수행 할 수 있습니다.

stop-all.sh

그런 다음 HDFS 데몬 만 활성화합니다.

start-dfs.sh

그런 다음 네임 노드의 모든 것을 포맷합니다 (물론 로컬 파일이 아니라 시스템의 HDFS라고도 함).

hadoop namenode -format

마지막으로 YARN 및 HDFS 데몬을 활성화합니다.

start-all.sh

hdfs dfs -df -hHDFS에서 항목을 삭제 한 후 명령 을 다시 실행하여 HDFS에 여유 공간이 있는지 확인하십시오.