HDFS를 포맷하는 방법에 대해서 알아보겠습니다.
HDFS를 포맷하면 데이터가 모두 사라집니다. 반드시 백업을 해두고 진행하는 것이 좋습니다.
작업 순서
작업 순서는 AWS EMR의 HDFS를 기준으로 작성되었습니다. 각 제조사의 하둡마다 순서가 바뀔수 있지만 전체적인 맥락은 변경되지 않습니다.
- 서버 종료
- 네임노드, 데이타노드 종료를 종료합니다.
- 모든 노드의 네임노드 프로세스와 데이타노드 프로세스를 종료합니다.
- 네임노드 포맷
- 포맷
hdfs namenode -format
명령으로 네임노드를 포맷합니다. 네임노드를 포맷하면dfs.namenode.name.dir
경로의 fsimage와 edits 파일이 초기화 됩니다.- 네임노드를 포맷하면 클러스터 ID가 신규로 생성됩니다. 이 정보는
dfs.namednoe.name.dir
아래 VERSION 파일에 있습니다.
- 설정변경
dfs.namednoe.name.dir
경로 권한을 hdfs 프로세스가 사용가능한 권한으로 변경합니다.- 모든 데이터 노드의
dfs.datanode.data.dir
경로에서 VERSION 파일의 clusterID를 신규로 생성된 클러스터 ID로 변경합니다.
- 서버 시작
- 데이타 노드 재시작
- 네임노드 시작
- 모든 노드를 시작하고
hdfs dfsadmin -report
명령으로 Live Node에 모든 데이터 노드가 연결되는지 확인합니다. 노드가 연결되지 않으면 네임노드의 로그에서 오류를 확인하고 이를 보고 수정합니다.
VERISON 파일
네임노드와 데이터노드의 정보를 가지고 있는 VERSION파일은 다음과 같은 정보를 담고 있습니다.
네임노드 정보
클러스터 ID와 스토리지 정보 블록풀 정보를 가지고 있습니다.
# namenode VERSION 정보
clusterID=CID-XX
cTime=0
storageType=NAME_NODE
blockpoolID=BP-XX
layoutVersion=63
데이터노드 정보
스토리지 ID와 클러스터 ID 정보를 가지고 있습니다.
# datanode VERSION 정보
storageID=DS-XXX
clusterID=CID-XX
cTime=0
datanodeUuid=XXXX-XX
storageType=DATA_NODE
layoutVersion=56
반응형
'빅데이터 > hdfs' 카테고리의 다른 글
[hdfs] 네임노드의 fsimage 파일 구조 (0) | 2022.02.22 |
---|---|
[hdfs] webhdfs에 요청을 보냈을 때 Operation category READ is not supported in state standby. Visit https://s.apache.org/sbnn-error 오류 처리 (0) | 2021.07.08 |
[hdfs] HDFS WebHDFS REST API 사용법 (0) | 2020.01.09 |
[hadoop-hdfs] HDFS Archival Storage, SSD & Memory (0) | 2019.08.07 |
[EMR-HDFS] EMR의 HDFS 운영중 Non DFS Used 용량이 늘어나서 실제 이용할 데이터가 줄어드는 문제 (0) | 2019.07.22 |