우리는 즉 하둡 복제에 대한 3 설정이 있습니다 :하둡 복제 인자 혼란
dfs.replication.max = 10
dfs.replication.min = 1
dfs.replication = 2
그래서 dfs.replication는 하둡 클라이언트가 수동으로 "setrep"를 사용하여 설정 될 때까지 하둡 클러스터에있는 파일의 기본 복제입니다. 및 hadoop 클라이언트는 최대 복제를 dfs.replication.mx까지 설정할 수 있습니다.
dfs.relication.min 두 가지 경우에 사용한다 : 안전 모드 중에
- , 그것은 블록의 복제가 dfs.replication.min 여부 개까지인지 확인합니다.
- dfs.replication.min이 동 기적으로 처리됩니다. 나머지 dfs.replication-dfs.replication.min은 비동기 적으로 처리됩니다.
각 노드 (namenode + datanode) 또는 클라이언트 노드에서만 이러한 구성을 설정해야합니까?
위의 세 가지 설정에 대한 설정이 다른 데이터 노드마다 다를 경우 어떻게해야합니까?
그래서 (namenode + datanode) 또는 namenode 또는 모든 datanode에서만 구성 매개 변수를 설정해야합니까? 우리는 하이브를 데이터로드 액티비티에 사용하고 있기 때문에 인기있는 파일 블록에 대해 높은 복제 계수를 설정하여 클러스터에 읽기로드를 분산시킬 수 있습니다. – user2950086
기본 블록의 복제 구성은 hdfs-site.xml에서 한 번만 클러스터 레벨 구성으로 업데이트 할 수 있습니다. 하이브 테이블에 대한 복제본을 업데이트 한 다음 HDFS (기본/사용자/하이브 /웨어 하우스 ..)에서 테이블 위치를 찾고 명령에 따라 복제를 변경해야하는 경우 - hadoop fs -setrep -R -w rep-num/user/hive/warehouse/xyz_table –
우리는 해당 테이블에 대한 복제를 구성 할 수있는 하이브 용 구성 매개 변수가 있습니까? 예 : 하이브 - "일부 쿼리"-hiveconf some.configuration.parameter – user2950086