Apache Hadoop — HDFS 와 YARN 을 한 파드에 세우고 운영한다 · 작은 파일과 HAR · 测验
퀴즈: 작은 파일과 HAR
6道题. 完成作答后会显示正确答案和解析。
HDFS 에 1KB 파일 2,000개를 올렸을 때 가장 먼저 부담이 되는 자원은?
- DataNode 디스크, 파일마다 128MB 블록을 통째로 잡기 때문
- 네트워크 대역폭, 작은 파일은 복제가 세 배로 늘기 때문
- 클라이언트 메모리, 파일 목록을 모두 들고 있어야 하기 때문
- NameNode 힙, 파일과 블록이 모두 메모리 속 객체이기 때문
NameNode JMX 의 FilesTotal 이 세는 것은?
- 파일과 디렉터리를 합친 수
- 파일만의 수, 디렉터리는 빼고
- 블록을 가진 파일의 수만
- DataNode 가 보고한 블록의 수
hadoop archive 로 작은 파일 2,000개를 logs.har 로 묶었는데 FilesTotal 이 오히려 늘었다. 이유는?
- HAR 이 파일마다 색인 파일을 하나씩 따로 만들기 때문
- 아카이브는 원본을 지우지 않아 원본과 HAR 이 함께 있기 때문
- HAR 은 불변이라 NameNode 가 사본을 하나 더 두기 때문
- 아카이브 잡이 끝나도 임시 파일을 영구히 남기기 때문
DataNode 가 하나뿐인 실습 클러스터에서 -r 없이 HAR 을 만들면 생기는 일은?
- 아카이브 명령이 복제 수가 없다며 바로 거절된다
- HAR 파일이 기본 복제 3 으로 만들어져 복제 부족 블록이 된다
- dfs.replication 설정을 따라 자동으로 복제 1 로 만들어진다
- part 파일만 복제 1 이 되고 색인 파일은 만들어지지 않는다
이미 만든 HAR 안의 파일 하나를 고쳐야 한다. 옳은 방법은?
- hdfs dfs -put -f 로 har:// 주소에 덮어쓴다
- hdfs dfs -rm 으로 har:// 안의 파일을 지우고 다시 넣는다
- HAR 은 불변이므로 내용을 풀어 고친 뒤 아카이브를 다시 만든다
- hdfs dfs -mv 로 har:// 안의 파일 이름을 바꾸면 새 판이 된다
작은 파일이 수십만 개인 디렉터리를 distcp 로 복사하는데 맵 수를 늘려도 빨라지지 않는다. 문서로 설명되는 이유는?
- distcp 는 MapReduce 를 쓰지 않고 한 프로세스로 복사하기 때문
- distcp 는 한 번에 맵 하나만 띄우도록 고정되어 있기 때문
- -update 를 주지 않으면 맵 수 설정이 무시되기 때문
- 파일이 가장 작은 단위라 맵을 늘려도 복사 단위는 줄지 않기 때문