hadop 제출 시 Safe mode is ON. Resources are low on NN 문제 해결 방안

이전에 hadop 클 러 스 터 에서 job 를 실행 할 때 작업 이 30% 까지 중단 되 었 고 기계 의 발열 이 심각 하여 기계 문제 라 고 생각 했 습 니 다. 그 다음 에 클 러 스 터 에서 작업 을 제출 할 때 다음 과 같은 문제 가 발생 했 습 니 다. namenode 노드 자원 이 부족 하 니 자원 을 방출 하거나 자원 을 증가 하 십시오.
705013485_0008. Name node is in safe mode.
Resources are low on NN. Please add or free up more resources then turn off safe mode manually. NOTE:  If you turn off safe mode before adding resources, the NN will immediately return to safe mode. Use "hdfs dfsadmin -safemode leave" to turn safe mode off.

인터넷 에서 많은 댓 글 을 봤 는데 저장 공간 점용 상황 을 어떻게 보 는 지, 원인 과 해결 을 어떻게 찾 는 지 명확 하지 않 아서 이 게시 물 을 보 냈 습 니 다.
문제 발생 원인
df - h 명령 을 사용 하여 현재 노드 의 저장 상황 을 볼 수 있 습 니 다. 다음 과 같이 91% 를 사용 할 수 있 습 니 다.이전의 job 연산 실패 와 결합 하여 대량의 파일 이 노드 에 저장 되 어 공간 이 부족 한 것 을 고려 하여 작업 을 실행 하 는 data 에서 파일 정 보 를 확인 해 야 합 니 다.저 는 Maprediuce 를 사용 하여 실행 되 는 프로그램 이기 때문에 hadop 의 data 데이터 에서 파일 크기 를 봅 니 다.
                         %    
/dev/sda2        47G   40G  4.0G   91% /
devtmpfs        3.9G     0  3.9G    0% /dev
tmpfs           3.9G     0  3.9G    0% /dev/shm
tmpfs           3.9G   12M  3.8G    1% /run
tmpfs           3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/sda1       976M  104M  806M   12% /boot
tmpfs           781M     0  781M    0% /run/user/1000
tmpfs           781M     0  781M    0% /run/user/0

질문
du - s. / * | sort - rn ^ C 를 사용 하여 hadop 의 data 에 있 는 파일 크기 를 정렬 합 니 다. 다음 과 같이 / data 의 파일 크기 가 37G 에 달 하 는 것 을 알 수 있 습 니 다. 이것 은 합 리 적 이지 않 습 니 다. 문 제 는 이 디 렉 터 리 에 지정 되 어 있 기 때문에 이 디 렉 터 리 에 계속 들 어가 du - s. / * | sort - rn ^ C 를 사용 하여 의 심 스 러 운 파일 을 찾 습 니 다.마지막 으로 문제 파일 을 찾 으 면 다음 과 같 습 니 다. subdir 9 와 subdir 8 이 뚜렷하게 이상 합 니 다. 바로 지난번 job 실패 로 인 한 파일 입 니 다.
[root@hadoop102 hadoop-3.1.3]# du -s ./* | sort -rn
37391092	./data
861736	./share
219308	./mydata
23020	./logs
22600	./lib
1000	./bin
252	./libexec
188	./etc
180	./sbin
144	./LICENSE.txt
68	./include
56	./input
24	./NOTICE.txt
16	./output
4	./README.txt
[root@hadoop102 subdir0]# du -s ./* | sort -rn
20722616	./subdir9
16439000	./subdir8
22976	./subdir7
2424	./subdir6
1524	./subdir0
1420	./subdir2
1248	./subdir5
1248	./subdir4
1124	./subdir1
1076	./subdir3

4. 567917. 문제 해결: 4. 567918.
방식 1: hdfs 클 러 스 터 에서 해당 하 는 파일 디 렉 터 리 를 찾 아 보안 모드 를 수 동 으로 종료 한 다음 디 렉 터 리 를 클 러 스 터 를 통 해 삭제 합 니 다.
방식 2: 이상 한 두 디 렉 터 리 를 직접 제거 한 다음 df - h 에서 확인 하여 19% 로 낮 추 었 습 니 다.이 해결 방식 은 후속 으로 클 러 스 터 를 시작 할 때 블록 데이터 가 안전 모드 에 있 기 때문에 수 동 으로 안전 모드 를 종료 해 야 합 니 다.이런 문제 가 발생 하면 다음 과 같은 방식 으로 해결 할 수 있다.
[root@hadoop102 subdir0]# df -h
                         %    
/dev/sda2        47G  8.3G   36G   19% /
devtmpfs        3.9G     0  3.9G    0% /dev
tmpfs           3.9G     0  3.9G    0% /dev/shm
tmpfs           3.9G   12M  3.8G    1% /run
tmpfs           3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/sda1       976M  104M  806M   12% /boot
tmpfs           781M     0  781M    0% /run/user/1000

방식 2 문제 해결
      단계 1    명령 실행 종료 보안 모드: hadop dfsadmin - safemode leave
      단계 2    건강 검 사 를 실시 하여 손 상 된 block 을 삭제 합 니 다. hdfs fsck  /  -delete
방식 2 문제 해결 참고:https://blog.csdn.net/mnasd/article/details/82143653

좋은 웹페이지 즐겨찾기