해결된 질문
작성
·
374
·
수정됨
2
안녕하세요!
강의 수강하면서 HDFS 명령어를 구글링하면서 만져보고 있는데요, 강의 실습에서 hdfs-site.xml에서 replication을 1로 설정해서, hdfs setrep 명령어를 사용해 replication configuration 3으로 변경을 시도했다가 잘 되지 않아서 질문드립니다.
w 옵션 없이 setrep 3 / 명령어 입력 시에,
./bin/hdfs dfs -stat "%b %F %g %n %o %r %u %y %Y" {파일 경로}
결과 %r = 3으로 변경이 되는데
./bin/hdfs fsck / -files -blocks
결과를 확인해보면, Default replication factor가 여전히 1로 나옵니다.
Default replication factor를 변경할 수 있는 방법 질문드립니다.
또 기다려도 hdfs에 올린 파일들이 자동으로 복제가 되지 않고 개수가 계속 1이라(fsck 명령어로 상태 확인 시에 missing replicas 확인됨), 강제로 setrep에 w옵션을 사용해서 기다려봤는데, 계속 복제본을 만들지 않는 결과를 확인했습니다.
이게 Pseudo Distributed Operation 모드에서 동작을 시켜서 발생시키는 결과인지, 아니면 어떤 부분이 문제일지 질문드립니다.
감사합니다.
답변 1
6
안녕하세요.
우선 해당 과제 관련해서 심도있게 접근해주셔서 감사합니다.
먼저 문제 의도는 실습에서도 진행한바, 단순히 'hdfs-site.xml' 의 'dfs.replication' config를 수정할 수 있는지 체크하기 위해 출제하였습니다. 즉, 해당 dfs.replication 를 3으로 교체하시면 default replication factor가 3으로 변경될겁니다 (데몬들도 stop > start 해주세요)
setrep 를 통해서 특정 파일을 replication 3로 시도하였으나, 해당 파일을 다시 fsck 통해 inspection 해보니 missing replica 가 2개로 조회되지요? 예측해서 잘 접근한 것처럼 현재 환경 특성상 구성된 datenode가 1대이므로 발견되는 현상입니다. 정상적으로 datenode가 3대 이상이 있다면 replica는 정상적으로 복사될 것 입니다.