일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 이더리움
- Resources are low on NN
- Safe mode is ON
- 이더리움 #ethereum
- mac hive 3
- hive beeline 실행
- 카카오 2020 코테
- code=0)
- 카카오 2020 코딩테스트
- Could not open client transport with JDBC Uri: jdbc:hive2://localhost:10000
- 백준 18428
- mac hadoop 설치
- is not allowed to impersonate hive (state=08S01
- mac hadoop 3
- 도커 교과서
- hive beeline 에러
- 기업 조사 빨리 하는 법
- Failed to connect to localhost:10000
- 자소서 너무 오래 걸림
- mac hadoop
- 자소서 빨리
- 자소서 시간 줄이기
- 카카오 자물쇠와 열쇠
- mac hive
- mac hadoop 설정
- hive beeline
- hadoop safe mode leave
- hive beeline 설정
- 자소서 빨리 쓰는 법
- hadoop safe mode
- Today
- Total
A seeker after truth
hadoop safe mode, 아무리 leave 해도 계속 ON 될때는?! 본문
Name node is in safe mode.
*Safe mode is ON. 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.*
hdfs 명령 관련 작업을 하는 중 이 에러 메시지를 만나는 중이라면, 많은 검색 결과들에서
hdfs dfsadmin -safemode leave (또는 hdfs dfsadmin -safemode forceExit,
또는 sudo -u hdfs dfsadmin -safemode leave,
또는 sudo -u hdfs hdfs dfsadmin -safemode leave)
명령어를 입력해 해결하라고 할 것이다.
근데 저들 중 어떠한 명령을 입력해서 safe mode 를 꺼도 계속 다시 켜지는 경우가 있다.
1. 왜 그런 일이 생길까?
그 이유는 네임노드 시작 과정에 대한 내용과 함께 아래 글에서 자세히 확인할 수 있다.
https://it-sunny-333.tistory.com/99
따라서 할당된 공간이 부족하면 아무리 세이프모드를 꺼도 다시 on 되어 버린다.
그래서 위 글 뿐 아니라 에러 메시지도, 다른 검색 결과들에서도 모두 이 명령이 먹히지 않을 경우 파티션에 할당된 공간을 더 늘리거나 파일을 삭제해 공간을 확보하라고 한다.
2. 그렇게 하지 않고도 해결한 방법은?
그 디스크 공간을 확보하라는게 어떤 맥락인지, 어떻게 하라는 건지에 대한 보다 괜찮은 자료는 도저히 찾을 수가 없어 생각을 해보았다.
"현재의 hdfs 를 초기화하면 되겠다."
그래서 해당 방법을 찾아보았더니, 네임 노드 포맷을 다시하면 되는 것이었다. 따라서
sbin/stop-dfs.sh (또는 stop-all.sh)
로 돌아가고있는 프로세스들을 종료한 뒤,
hdfs namenode -format
으로 다시 포맷한 뒤
sbin/start-dfs.sh (또는 stop-all.sh)
로 다시 시작하고 나니, 기존에 아래 사진과 같이
leave 하고 나서도 자꾸만 on 되었던 것과 달리
leave 하고 나서 몇번을 다시 확인해봐도 제대로 off 된 것을 확인할 수 있다!
3. 참고 자료에서의 결과와 내가 실행한 결과의 차이
위 글을 보고 네임노드 포맷을 다시 하게 됐는데, 위 글과 나의 결과의 차이는
- 네임노드 포맷을 다시 하고도 기존의 hdfs 파일들은 사라지지 않고 그대로 있었다 (본인은 로컬 환경)
- dfs.namenode.name.dir 경로에 가서 VERSION 파일의 clusterID를 변경할 필요가 없었다. 다시 포맷하고 나서 이 파일에 들어가 확인했을 때 이미 새로운 클러스터id 로 바껴 있었다.
4. safemode 로 진입하는 것을 사전 예방하자!
앞으로 hadoop 프로세스 종료 시 터미널 탭을 닫거나 하는 식으로 종료하지 말고, sbin 폴더 아래의 stop-all.sh 등 stop-XXXXX.sh 파일을 이용해 올바르게 종료하는 습관을 들이자.
'Data > hadoop ecosystem' 카테고리의 다른 글
21년도에 스파크 실시간 처리 영상 남겨둔 것 (0) | 2024.03.09 |
---|---|
한 페이지로 정리하는 spark 개념 (0) | 2022.06.22 |
beeline 연결법, 에러 해결법 (0) | 2022.05.16 |
매우 끔찍했던 mac 하둡 hadoop 설치, hive 설치 3.x 버전 with 상세 설명 (2) | 2022.04.21 |