View

* HDFS Erasure coding (Hadoop 3.0.0-alpha1, HDFS-7285)


1. 개요

1) HDFS의 storage 및 network overhead를 줄이기 위해서 고안됨 

2) 3-replica 는 데이터 블록의 중복으로 인해 200%의 storage space overhead를 가지나, EC(Erasure Coding) 방식은 데이터 블록의 절반의 패리티parity 블록을 위한 50%의 overhead를 가짐

그림1 - Erasure coding의 storage efficeincy : https://blog.cloudera.com/blog/2015/09/introduction-to-hdfs-erasure-coding-in-apache-hadoop/


3) EC는 HDFS replica와 동일한 수준의 fault tolerance 제공

4) EC를 사용하는 경우 Data block 을 3-replica로 유지하기 위해 사용되는 network bandwidth가 없어짐

5) 3-replica에 비해 encode/decode로 인해 CPU 부하가 늘어날 수 있음. (Intel ISA-L coder와 같이 CPU에서 EC를 지원하기도 함)



2. Erasure Coding 동작 방식

1) Reed-Solomon Algorithm, XOR 방식 등을 사용

2) RS(6,3)은 6개의 데이터 블록과 3개의 패리티 블록을 갖는 것을 의미하며, 3개의 데이터노드 failures를 견딜 수 있음

3) RS(10,4)는 10개의 데이터 블록과 4개의 패리티 블록을 갖는 것을 의미하며, 4개의 데이터노드 failure를 견딜 수 있음

Encoding(Generator) matrix를 생성을 위한 새로운 블록

그림2 - Erasure coding의 blcok 구성: https://www.samsungsds.com/global/ko/support/insights/Hadoop3-coding.html


4) 손실된 block 들은 남아있는 block들을 이용하여 재구성 할 수 있음.


유실된 블록 복구된 블록

그림3 - RS 기반의 복구방법 : https://www.samsungsds.com/global/ko/support/insights/Hadoop3-coding.html


5) EC policy에 따라 작은 데이터를 저장하는 경우 패리티 블록으로 인한 storage overhead가 replica 보다 더 커질 수 있음. (striped layout 적용과 EC policy 설정 최적화가 필요하다. HDFS-7285)





3. 적용 사례 및 기타


1) Hive 등의 Archive storage로 사용 - 다시 사용할 일이 없으나 삭제할 수 없는 별도의 데이터를 EC zone으로 설정하여 저장.

2) Hadoop 클러스터의 DR(Disaster-Recovery) 시스템으로 사용.

그림4 - EC 사용 사례: https://ko.hortonworks.com/blog/data-lake-3-0-part-4-cutting-storage-overhead-in-half-with-hdfs-erasure-coding/



3) 기존 data를 EC 방식으로 전환하는 것은 계획 중

4) Hive나 HBase와 같이 HDFS 기반의 서비스에 대한 성능 검증은 아직 이루어지지 않음.

5) 패리티 계산을 위해 client 가 수 GB의 버퍼가 필요할 수 있음으로 배치 작업이나 오프라인 작업을 통해 EC가 적용 되어야 함.



참조 :

EC bentchhttps://issues.apache.org/jira/secure/attachment/12690129/fsimage-analysis-20150105.pdf

https://blog.cloudera.com/blog/2015/09/introduction-to-hdfs-erasure-coding-in-apache-hadoop/

https://ko.hortonworks.com/blog/data-lake-3-0-part-4-cutting-storage-overhead-in-half-with-hdfs-erasure-coding/

https://www.samsungsds.com/global/ko/support/insights/Hadoop3-coding.html




Share Link
reply
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31