๋ฐ์ํ
์ด๋ ์ด์ ์ฝ๋ฉ (Erasure Coding)
- ์คํ ๋ฆฌ์ง์์ ๋ฐ์ดํฐ ์ ์ฅ๊ณต๊ฐ์ ํจ์จ์ฑ์ ์ํด ์ค๊ณ๋ ๋ฐ์ดํฐ ๋ณต์ ๋ฐฉ์
- ์ด๋ ์ด์ ์ฝ๋ฉ์ ์ด๋ ์ด์ ์ฝ๋(Erasure Code)๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ธ์ฝ๋ฉํ๊ณ , ๋ฐ์ดํฐ ์์ค์ ๋์ฝ๋ฉ ๊ณผ์ ์ ๊ฑฐ์ณ ์๋ณธ ๋ฐ์ดํฐ๋ฅผ ๋ณต๊ตฌํ๋ ๋ฐ์ดํฐ ๋ณต๊ตฌ ๊ธฐ๋ฒ์ค ํ๋
- ๋ฐ์ดํฐ ์์ค์ ๋ณต๊ตฌํ ์ ์๋ ๊ธฐ๋ฒ์ผ๋ฟ ๋ฐ์ดํฐ ๋ฐฑ์ ์ ๋์ฒดํ๋ ๋ฐฉ์์ด ์๋๋ผ๋ ๊ฒ์ ์ฃผ์
- ์ด๋ ์ด์ ์ฝ๋ฉ ์ฒ๋ฆฌ ๊ณผ์
- ๋ฐ์ดํฐ ์๋ณธ์ n๋ฑ๋ถํ์ฌ ๋๋ > ์ฐ์ฐ๊ณผ์ (์ธ์ฝ๋ฉ)์ ํตํด k๊ฐ ํจ๋ฆฌํฐ ์์ฑ > (์ผ๋ถ ๋ฐ์ดํฐ ์์ค) > n๊ฐ์ ๋ฐ์ดํฐ๋ก ๋์ฝ๋ฉ์ ํตํด ์๋ณธ ๋ณต๊ตฌ
HDFS Erasure Coding
- HDFS : ํ๋์ ํ์ผ์ N๊ฐ์ ๋ธ๋ก์ผ๋ก ๋ถ์ฐ ์ ์ฅํ๋ ํ์ผ ์์คํ
- Fualt-tolerance : ํ๋์ ํ์ผ์ ์ด๋ฃจ๊ณ ์๋ N๊ฐ์ ๋ธ๋ก ์ค ๋ช๊ฐ๊ฐ ์ ์ค๋๋๋ผ๋ ํ์ผ์ ์ ๊ทผ์ฑ์ ๋ณด์ฅํ๊ณ ๋ณต๊ตฌํ ์ ์๋ ๊ธฐ๋ฅ
- 2.x ๋ฒ์ : ๊ฐ๊ฐ ๋ค๋ฅธ ๋์คํฌ์ 3๊ฐ์ ๋ธ๋ก์ ๋ง๋ค์ด ๋ณด๊ด (ํ์ผ 1๊ฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ 3๋ฐฐ์ ์ฉ๋์ ํ์)
- 3.x ๋ฒ์ : Erasure Coding์ ํ์ผ์ N๊ฐ ๋ธ๋ก์ผ๋ก ๋๋๋ฉด์ N์ ์ ๋ฐ์ธ M๊ฐ์ Parity ๋ธ๋ก์ ์์ฑํ์ฌ Fault-tolerance๋ฅผ ๋ณด์ฅ
- Raid์์ ์ฃผ๋ก ์ฌ์ฉํ๋ Reed-Solomon ์๊ณ ๋ฆฌ์ฆ ์ฌ์ฉ
1. ec policy ๋ฆฌ์คํธ ํ์ธ
hdfs ec -listPolicies
2. policy enable
hdfs ec -enablePolicy -policy RS-6-3-1024k
3. ํน์ path์ policy ์ ์ฉ
hdfs ec -setPolicy -path [path] -policy RS-6-3-1024k
์ฐธ์กฐ) ์ ์ฉ๋ path์ erasur coding ์ ๊ฑฐ (policy์ ๊ฑฐ)
hdfs ec -unsetPolicy -path [path]
4. ์ ์ฉ๋ ec policy ํ์ธ
hdfs ec -getPolicy -path [path]