소개
이 랩에서는 아라비아 사막에서 낙타 캐러밴의 제한된 저장 공간을 관리하는 방법을 배우게 됩니다. 여기에는 공간 할당량 (space quotas) 과 이름 할당량 (name quotas) 의 비교가 포함됩니다. 향신료와 고급 실크를 포함한 귀중한 화물의 안전과 무결성을 보장하기 위해 화물 공간을 신중하게 계획하고 할당하는 임무를 맡게 됩니다.
현재 스토리지 제한 탐색
이 단계에서는 Hadoop 분산 파일 시스템 (HDFS) 의 현재 저장 공간 사용량을 탐색하고 기존 디렉토리와 파일에 익숙해집니다.
su - hadoop명령을 사용하여hadoop사용자로 전환합니다. 그런 다음 다음 코드를 사용하여 파일과 디렉토리를 생성합니다.
hdfs dfs -mkdir -p /cargo_space/fine_silks
hdfs dfs -touchz /cargo_space/spices.txt
- 다음 코드를 사용하여 생성된 파일과 디렉토리를 봅니다.
hdfs dfs -ls -R /cargo_space
이 명령은 /cargo_space 디렉토리의 내용을 나열합니다.
- HDFS 에서 지정된 디렉토리의 자세한 통계 정보를 쿼리하고 할당량 (quota) 상황을 표시합니다.
hdfs dfs -count -q /cargo_space
위 명령에 대한 설명은 다음과 같습니다.
hdfs: Hadoop 분산 파일 시스템에 대한 명령줄 도구를 나타냅니다.dfs: 분산 파일 시스템에서 작동하는 명령 집합을 나타냅니다.-count: 이 옵션은 지정된 디렉토리의 파일 수와 디렉토리 수를 계산하는 데 사용됩니다.-q: 이 매개변수는 디렉토리에 대한 할당량 정보를 표시해야 함을 나타냅니다. 할당량 정보에는 디렉토리에 대해 파일 시스템에서 설정한 저장 공간 및 파일 수 제한이 포함됩니다./cargo_space: 이것은 명령 작업의 대상 디렉토리 경로입니다.
다음 결과를 보게 됩니다.
none inf none inf 2 1 0 /cargo_space
결과는 차례대로 다음과 같이 설명됩니다.
none: 파일 할당량 (즉, 이름 할당량) 에 제한이 없습니다.inf: 제한 내의 남은 파일 수는 무한대입니다.none: 디스크 공간 할당량에는 제한이 없습니다.inf: 제한 내의 남은 공간은 무제한입니다.2:/cargo_space디렉토리의 파일 또는 디렉토리 수는 2 개입니다.1:/cargo_space에 저장된 데이터는 1 개의 저장 단위 (storage unit) 를 차지합니다.0 /cargo_space:/cargo_space디렉토리는 0 바이트의 추가 디스크 공간을 사용합니다.
디렉토리에 공간 할당량 설정
이 단계에서는 HDFS 에서 디렉토리에 대한 공간 할당량 (space quota) 을 설정하는 방법을 배우게 됩니다. 이는 해당 디렉토리와 하위 디렉토리의 총 디스크 공간 사용량을 제한합니다.
- 다음을 실행하여
/cargo_space디렉토리에 1GB(1073741824 바이트) 의 할당량을 설정합니다.
hdfs dfsadmin -setSpaceQuota 1073741824 /cargo_space
이 명령은 /cargo_space 디렉토리와 하위 디렉토리에 대해 1GB 의 디스크 공간 할당량을 설정합니다.
- HDFS 에서 지정된 디렉토리의 자세한 통계 정보를 쿼리하고 할당량 상황을 표시합니다.
hdfs dfs -count -q /cargo_space
디렉토리에 이름 할당량 설정
디스크 공간 할당량 설정 외에도 HDFS 는 디렉토리 내의 최대 파일 및 디렉토리 수에 대한 할당량을 설정할 수 있도록 합니다. 이 단계에서는 이 이름 할당량을 설정하는 방법을 배우게 됩니다.
- 다음을 실행하여
/cargo_space디렉토리에 대해 10 개의 파일/디렉토리 할당량을 설정합니다.
hdfs dfsadmin -setQuota 10 /cargo_space
이 명령은 /cargo_space 디렉토리와 하위 디렉토리에 대해 10 개의 파일 및 디렉토리 이름 할당량을 설정합니다.
- 할당량을 확인하려면 다음 명령을 실행합니다.
hdfs dfs -count -q /cargo_space
이 명령은 지정된 디렉토리의 현재 파일 및 디렉토리 수와 할당량 제한을 표시합니다.
디렉토리의 할당량 제한 제거
이 단계에서는 HDFS 에서 디렉토리에 대한 할당량 제한을 제거하는 방법을 배우게 됩니다. 여기에는 이전에 설정된 디스크 공간 할당량과 이름 할당량이 모두 포함됩니다.
디스크 공간 할당량 제거
/cargo_space디렉토리에 대해 디스크 공간 할당량을 제거하려면 다음 명령을 실행합니다.
hdfs dfsadmin -clrSpaceQuota /cargo_space
이 명령은 /cargo_space 디렉토리와 하위 디렉토리에 대한 디스크 공간 할당량 제한을 제거합니다.
- 할당량이 제거되었는지 확인하려면 지정된 디렉토리의 자세한 통계를 쿼리하고 할당량을 표시합니다.
hdfs dfs -count -q /cargo_space
이름 할당량 제거
/cargo_space디렉토리에 대해 파일 및 디렉토리 수 할당량을 제거하려면 다음 명령을 실행합니다.
hdfs dfsadmin -clrQuota /cargo_space
이 명령은 /cargo_space 디렉토리와 하위 디렉토리에 대한 파일 및 디렉토리 할당량 제한을 제거합니다.
- 할당량이 제거되었는지 확인하려면 다음 명령을 실행합니다.
hdfs dfs -count -q /cargo_space
이 시점에서 /cargo_space 디렉토리가 이전에 설정된 할당량 제한의 적용을 더 이상 받지 않는지 확인할 수 있습니다.
요약
축하합니다! Hadoop Quota Management 랩을 성공적으로 완료하여 Hadoop 분산 파일 시스템 (HDFS) 에서 스토리지 리소스를 관리하는 기본 기술을 익혔습니다. Camelot 시나리오를 통해 현재 스토리지 사용량을 탐색하고, 공간 할당량 (space quota) 및 이름 할당량 (name quota) 을 구현하는 방법을 배웠습니다. 이러한 실습 경험은 실용적인 기술을 향상시킬 뿐만 아니라 Hadoop 과 같은 분산 시스템에서 효율적인 리소스 관리의 중요성을 강조합니다.



