HDFS의 복제 계수는 무엇이며 어떻게 설정할 수 있습니까?


최상의 답변

음, 복제 계수는 3 HDFS의 기본 설정 . 여기에서 하나는 원본 블록이고 두 개의 복제본입니다.

그러나 Set 일 수 있습니다.

방법을 설명해 드리겠습니다.

두 가지 방법이 있습니다. 하나 은 명령을 사용하고 other hdfs-site.xml 파일.

첫 번째 는 간단합니다. 다음과 같이 명령을 입력하기 만하면됩니다.

또한 Hadoop FS 셸을 사용하여 파일별로 복제 계수를 변경합니다 .

[sawant@localhost ~]$ hadoop fs –setrep –w 3 /my/file

또는 디렉토리 모든 파일 의 복제 인자를 변경할 수 있습니다.

[sawant@localhost ~]$ hadoop fs –setrep –w 3 -R /my/dir

위의 명령이 표시되면 3을 원하는대로 바꾸면됩니다.

두 번째 것을 이해하겠습니다…

hdfs-site를 엽니 다. .xml 파일. 이 파일은 일반적으로 Hadoop 설치 디렉토리의 conf / 폴더에 있습니다. 다음 속성을 hdfs-site.xml….

<에 변경하거나 추가합니다. / p>

dfs.replication

3

Block Replication

hdfs-site.xml 은 HDFS를 구성하는 데 사용됩니다. hdfs-site.xml 에서 dfs.replication 속성을 ​​변경하면 다음에 대한 기본 복제가 변경됩니다. 모든 파일은 HDFS에 있습니다.

위에서 dfs.replication 속성은 3을 원하는대로 바꿉니다.

감사합니다 !!

Answer

3 개의 복제를 선택하는 진짜 이유는 매우 신뢰할 수있는 설계를 가능하게하는 가장 작은 숫자이기 때문입니다. 이유에 대한 실제 분석을 살펴 보겠습니다.

데이터의 각 복제본을 저장하는 하드웨어에 하드웨어 결함이있는 경우 데이터가 손실 될 수 있다는 점을 고려하십시오. 최신 회전 디스크의 경우 고장률은 비교적 간단하며 연간 약 5 \%입니다 (예상 방법 및 구입 한 하드웨어에 따라 숫자가 더 높거나 낮을 수 있음). 모든 오류가 독립적 인 경우 (실제로 불량 배치가 발생하기 때문에 그렇지 않은 경우) 이는 개별 디스크가 초당 약 1.6e-9 오류의 비율로 오류가 발생하고 Poisson 분포에 따라 배포되어야 함을 의미합니다. 복제가 없다고 가정하면 천 개의 디스크는 짧은 기간 동안이 속도의 약 1000 배로 데이터 손실이 발생합니다.

이 수치를 사용하여 평균 데이터 손실 시간을 계산할 수 있습니다. 단일 디스크의 경우 1 년 후에 데이터를 유지할 확률이 95 \%이지만 천 개의 디스크의 경우 1 년 후 데이터 손실을 피할 수있는 가능성은 거의 없습니다. 솔직히 말해서 단일 디스크 케이스조차도 허용되지 않는다고 생각합니다.

그래서 데이터를 복제합니다.

천 개의 디스크 케이스에는 연간 약 50 개의 오류가 발생합니다. 매주 디스크 손실이 발생합니다. 그렇다고 정확한 주간 간격으로 발생한다는 의미는 아닙니다. 이는 디스크 오류 사이의 평균 시간이 약 1 주일이라는 것을 의미합니다. 디스크 장애가 발생한 후에는 시간이 지남에 따라 성능이 저하되는 시스템을 원하지 않기 때문에 데이터를 다시 복제해야합니다. 데이터가 포함 된 다음 디스크에 오류가 발생하기 전에 데이터를 다시 복제 할 수 있다면 시스템은 첫 번째 오류로 인한 데이터 손실을 방지 할 것입니다.

그러나 트릭은 개별 디스크 사이의 시간입니다. 시스템의 크기가 커짐에 따라 오류가 감소합니다. 그러나 설계를 잘하면 재 복제 시간이 같은 비율로 * 감소 *됩니다. 복구 시간은 머신 당 드라이브 수와 머신 간의 네트워크 대역폭에 따라 다릅니다.

즉, 데이터 손실에 걸리는 평균 시간을 매우 쉽게 예측할 수 있습니다. 두 개의 복사본에 대해 디스크 손실률을 계산 한 다음 해당 손실에 대한 복구 시간 동안 다른 디스크 손실 가능성을 계산해야합니다. 두 개의 복사본의 경우 첫 번째 드라이브의 복구 시간 동안 두 개의 드라이브가 죽는 경우까지이를 확장해야합니다. 디스크를 스트라이핑하고 첫 번째 실패 후 정상 작동을 유지하려고하지만 모든 리소스를 두 번째 실패 후에 복구하는 데 할당하는 멋진 복구 전략이있을 때 더 복잡해집니다.

수학을 수행하면 하나의 데이터 복사본은 대규모 클러스터에서 데이터 손실 가능성이 매우 높습니다 (사실상 거의 확실 함).

두 복사본의 경우 0.3 범위의 데이터 손실 가능성이 있습니다. 클러스터 매개 변수에 따라 \%-5 \%. 이는 대부분의 비즈니스에 충분하지 않지만 일부 애플리케이션은이를 허용 할 수 있습니다.

3 개의 사본의 경우 일반적으로 데이터 손실 가능성을 연간 0.1 \% 미만으로 확장 할 수 있습니다. 이는 올바르게 수행하면 데이터 손실에 걸리는 평균 시간이 1000 년 이상인 것과 같습니다.

그게 그 이유입니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다