2014-04-30 7 views
5

두 개의 datanode와 하나의 namenode가있는 Hadoop 2.2.0 클러스터를 실행 중입니다. 내가 네임 노드 또는 데이타 노드 중 하나에서 하둡 fsck 명령을 사용하여 시스템을 검사하려고 할 때, 나는 다음과 같은 얻을 :Hadoop fsck에서 복제본이 누락되었습니다.

Target Replicas is 3 but found 2 replica(s). 

나는 (2 dfs.replication) hdfs-site.xml의 구성을 변경 시도하고 클러스터 서비스를 다시 시작됩니다.

Target Replicas is 3 but found 2 replica(s). 

명확히하십시오, 이것은 캐싱 문제 나 버그 : hadoop fsck /를 실행에 그것은 여전히 ​​같은 상태를 보여주고있다?

답변

3

dfs.replication을 설정하면 복제가 중단되지 않습니다. 이 등록 정보는 복제가 지정되지 않은 파일이 작성 될 때만 참조됩니다. 하둡 유틸리티를 다음 복제를 변경

hadoop fs -setrep [-R] [-w] <rep> <path/file>

또는 여기에 또한/이 전체 파일 시스템의 복제 팩터를 변경 지정할 수 있습니다

hdfs dfs -setrep [-R] [-w] <rep> <path/file>

을 사용할 수있다.

+0

복제 인수를 지정하지 않고 파일을 HDFS로 전송했으며 그 당시 복제 인수는 3으로 설정되었지만 나중에 복제 계수를 2로 변경했습니다. 그런 다음이 대상 복제본은 3 개이지만 복제본 2 개를 찾았습니다. – abbasdjinn

+0

하둡 FS는 -setrep [-R [-w] 또한 HDFS가 DFS -setrep [-R [-w] 작동하기 전 명령이다. 세부 정보 - https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html#setrep – ewm

+0

감사합니다. fs를 놓치 셨습니다. – sachin