HDFS (Hadoop File System)
GFS๋ฅผ ๋ชจ๋ธ๋ก ์ค๊ณ
๋ฌผ๋ฆฌ์ ์์คํ ์ ์คํจ๋ฅผ ์ํํธ์จ์ด ๋ ๋ฒจ์์ ํด๊ฒฐํ์ฌ, ์์คํ ์ ๊ฐ์ฉ์ฑ์ ๋์ด๋ ๋ถ์ฐ ํ์ผ ์์คํ
HDFS์ ํน์ง
- ์ปดํจํฐ ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํด ๋ค์์ ๋ ธ๋์ ๊ฑธ์ณ ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ
- ๋ฐ์ดํฐ์ ์ฅ์ ํ์ฉ์ ์ํด ์ค๋ณต ํ์ฉ
- ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ 3๊ฐ ๋ณต์ ํด ๋ณต์ฌ๋ณธ์ ๋
- 3๊ฐ์ ๋ธ๋ก์ ์๋ก ๋ค๋ฅธ ๋ ธ๋์ ๋ณต์
- ํํ๋ฐ์ดํธ ์ด์์ ๋์ฉ๋ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ๋ค๋ฃฐ ์ ์์ -> ์ํ์ ํ์ฅ ๊ตฌ์กฐ๋ก ์ค๊ณ
- ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ณธ 128MB์ ๋ธ๋ก์ผ๋ก ๋๋
HDFS์ ์ํคํ ์ณ
- ๋ค์๋
ธ๋ (ํ์ผ ์์คํ
๊ด๋ฆฌ)
- ํ์ผ ์์คํ ์ ์ํ๋ ํ์ผ ๊ณ์ธต ๊ตฌ์กฐ๋, ๊ฐ ํ์ผ์ ๋ธ๋ก ์์น๋ฅผ ๋ฉํ๋ฐ์ดํฐ๋ก ์ ์ง
- ๋ฐ์ดํฐ ํ์ผ์ ๋ํ ์ฌ์ฉ์ ์ ์ ๊ด๋ฆฌ
- ๋ธ๋ก ๋ฐ์ดํฐ๋ฅผ ํด๋ฌ์คํฐ์ ๋ฐ์ดํฐ๋ ธ๋์ ๋งตํ
- ๋ฐ์ดํฐ๋ ธ๋์ ๋ํ ์์กด ์ฌ๋ถ ํ์ธ
- ๋ฐ์ดํฐ๋
ธ๋(๋ฐ์ดํฐ ๋ธ๋ก ์ ์ฅ)
- ๋ฐ์ดํฐ๋ ธ๋์ ์๋ ๋ฐ์ดํฐ์ ๋ํ ์ฝ๊ธฐ/์ฐ๊ธฐ ์ ๊ณต
- ๋ฐ์ดํฐ ๋ธ๋ก์ ์์ฑ ๋ฐ ์ญ์
- ํด๋ฌ์คํฐ์ ๊ฑธ์ณ ๋ฐ์ดํฐ ๋ณต์
- ์ฃผ๊ธฐ์ ์ผ๋ก ์์กด ์ ๋ณด๋ฅผ ๋ค์๋ ธ๋๋ก ์ ์ก
HDFS์ ๋์๋ฐฉ์
1. ํ๋์ ํฐ ํ์ผ์ ์์ ์ฒญํฌ๋ก ๋ง๋ค์ด ๋ถ์ฐ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๊ฒ ํ๋ ๋ฐฉ๋ฒ
: ํฐ ๋ฐ์ดํฐ๋ฅผ ์ผ์ ํฌ๊ธฐ์ ๋ธ๋ก(์ผ๋ฐ์ ์ผ๋ก 128MB)์ผ๋ก ๋๋์ด ๋ฐ์ดํฐ๋ ธ๋์ ๋ถ์ฐํ์ฌ ์ ์ฅ
2.WORM(write-once-read-many)
- HDFS๋ WORM ์ก์ธ์ค ๋ชจ๋ธ์ ์ฌ์ฉ
- ํ์ผ์ ์์ฑํ๋ฉด ๋ด์ฉ ์์ ๋ถ๊ฐ (ex. ํ์ผ์ด๋, ํ์ผ์ญ์ , ํ์ผ ์ด๋ฆ ๋ณ๊ฒฝ)
3. ๋ค์๋ ธ๋ ์คํผ๋ ์ด์
- HDFS์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํด ์ ๋ณด๋ฅผ ๋น ๋ฅด๊ฒ ์ ๊ณต
- ๋ฉํ๋ฐ์ดํฐ๋ fsimage๋ผ๋ ํ์ผ๋ก ๋์คํฌ์๋ ์ ์ฅ๋จ
- HDFS์ ์๋ ๋ชจ๋ ํ์ผ ์ด๋ฆ
- HDFS ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ
- HDFS์ ์๋ ๋ชจ๋ ํ์ผ์ ํผ๋ฏธ์ ์ ๋ณด
- ํ์ผ ์์ฑ์ด๋ ํ์ผ ์ญ์ ๊ฐ ์ผ์ด๋๋ฉด ๋ฉํ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋์ด์ผํ๊ณ , ์ด๊ฒ์ fsimage์ ํน์ ์๊ฐ๋ง๋ค ๊ธฐ๋ก๋จ
4. HDFS ํ์ผ ์ฐ๊ธฐ/ ์ฝ๊ธฐ ๋์
5. HDFS ํ์ผ ์ฐ๊ธฐ ๋์
- ํด๋ผ์ด์ธํธ๋ ํ์ผ์ ์ฐ๊ธฐ์ํด ๋ค์๋ ธ๋์ ์ ์
- ๋ค์๋ ธ๋๋ ํด๋ผ์ด์ธํธ์ ๋ฐ์ดํฐ๋ ธ๋์ ์์น๋ฅผ ์ ์ก
- ํด๋ผ์ด์ธํธ๋ HDFS์ ์ธ ํ์ผ์ ๋ธ๋ก๋ค๋ก ๋๋
- ํด๋ผ์ด์ธํธ๋ ๋ค์๋ ธ๋์๊ฒ ๋ฐ์ ๋ฐ์ดํฐ๋ ธ๋์ ํ์ผ ์ฐ๊ธฐ
- ๋ฐ์ดํฐ๋ ธ๋๋ ์ค์ ๋ ๋ณต์ ๋ณธ ์ ๋งํผ ๋ค๋ฅธ ๋ฐ์ดํฐ๋ ธ๋์๋ ๋ฐ์ดํฐ ์ ๋ฌ
- ๋ชจ๋ ๋ฐ์ดํฐ๋ ธ๋์ ๋ณต์ ๋ณธ์ด ๊ธฐ๋ก๋๋ฉด, ํด๋ผ์ด์ธํธ์ ๋ชจ๋ ๋ ธ๋์ ๋ฐ์ดํฐ ๋ธ๋ก์ด ์ฑ๊ณต์ ์ผ๋ก ์ฐ๊ธฐ๋์๋ค๋ ๊ฒ ์๋ฆผ
- ํด๋ผ์ด์ธํธ๋ ๋ค์ ๋ธ๋ก์ ์ฐ๊ณ , ์ฐ๊ธฐ๊ฐ ์๋ฃ๋๋ฉด ๋ค์๋ ธ๋์ ์๋ฃ ์๋ฆผ
5. HDFS ํ์ผ ์ฝ๊ธฐ ๋์
- ํด๋ผ์ด์ธํธ๋ ํ์ผ ์ฝ๊ธฐ๋ฅผ ์ํด ๋ค์๋ ธ๋์ ์ ์
- ๋ค์๋ ธ๋๋ ํด๋ผ์ด์ธํธ์ ํด๋น ๋ฐ์ดํฐ๊ฐ ์๋ ๋ฐ์ดํฐ๋ ธ๋์ ์์น ๋ชฉ๋ก์ ์ ๋ฌ
- ์ด๋ ๋ฐ์ดํฐ๋ ธ๋๋ ๋คํธ์ํฌ ์์์ ๋ฐ๋ผ ํด๋ผ์ด์ธํธ์ ๊ฐ๊น์ด ์์ผ๋ก ์ ๋ ฌ๋จ
- ํด๋ผ์ด์ธํธ๋ ๋คํธ์ํฌ ์ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ๊น์ด ๋ฐ์ดํฐ๋ ธ๋์ ์ ๊ทผํด ๋ฐ์ดํฐ๋ฅผ ์ฝ์
- ํด๋ผ์ด์ธํธ๊ฐ ๋ธ๋ก์ ์ฝ๊ธฐ ์์ํ๋ฉด ๋ค์๋ ธ๋๋ ๋ค์ ๋ฐ์ดํฐ ๋ธ๋ก๋ค์ ์์น๋ค์ ํด๋ผ์ด์ธํธ์ ์ ๋ฌ
HDFS์ ๊ณ ๊ฐ์ฉ์ฑ
- ๋ค์๋
ธ๋์ ๋ฐ์ดํฐ๋
ธ๋ ๊ฐ์ ํต์
- ์ด๊ธฐํต์
- ๋ฐ์ดํฐ๋ ธ๋๊ฐ ์์๋๋ฉด ๋ฐ์ดํฐ๋ ธ๋๋ ๋ค์๋ ธ๋์ ๋ฑ๋กํด ๋ค์๋ ธ๋์๊ฒ HDFS ์ฝ๊ธฐ/์ฐ๊ธฐ ์คํผ๋ ์ด์ ์ ๋ฐ์ดํฐ๋ ธ๋์์ ํ ์ค๋น๊ฐ ๋ ๊ฒ์ ์๋ฆผ
- ์ ๊ธฐ์ ์ธ ๋ฐ์ดํฐ๋
ธ๋์ ์์กด์ฌ๋ถ ์๋ฆผ(Heartbeat)
- ๋ชจ๋ ๋ฐ์ดํฐ ๋ ธ๋๋ ์ฃผ๊ธฐ์ ์ผ๋ก(๊ธฐ๋ณธ 3์ด๋ง๋ค) ๋ฐ์ดํฐ๋ ธ๋์ ์ฌ์ฉ ์ ๋ณด๋ฅผ ํฌํจํ๋ heartbeat๋ฅผ ๋ค์๋ ธ๋์ ๋ณด๋
- ๋ค์๋ ธ๋๊ฐ ์ค๋ ์๊ฐ ๋์ heartbeat๋ฅผ ๋ฐ์ง ๋ชปํ๋ฉด ๋ฐ์ดํฐ๋ ธ๋๊ฐ ์ฃฝ์ ๊ฒ์ผ๋ก ํ๋จํจ
- ์ด๊ธฐํต์
- Rack-awareness : ๋ฐ์ดํฐ ์ง์ญ์ฑ์ ๊ณ ๋ คํด ๋ฐ์ดํฐ์ ๋ณต์ฌ๋ณธ(replica)์ ๋ถ์ฐ์ํค๋ ๋ฐฉ๋ฒ
- ๋(rack)์ ์์น๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ ๋ณต์ฌ๋ณธ์ ๋ถ์ฐ
- ๋ณดํต fault๋ ๊ฐ์ ์ค์์น๋ฅผ ์ฌ์ฉํ๋ ๋์ผ ๋์์ ๋ฐ์ํ ํ๋ฅ ์ด ๋์ ๊ฒ์ ๊ณ ๋ ค
HDFS ์ฃผ์ ๋ช ๋ น์ด
hdfs dfs - ์ปค๋งจ๋ ๋ช ๋ น์ด
- ls : ๋๋ ํ ๋ฆฌ ํ์ผ ์กฐํ
- mkdir : ๋๋ ํ ๋ฆฌ ์์ฑ
- rm : ํ์ผ ์ญ์
- rmdir : ๋๋ ํ ๋ฆฌ ์ญ์
- copyFromLocal(put) : ๋ก์ปฌ ํ์ผ์ HDFS๋ก ์ด๋
- copyToLocal(get) : HDFS์ ํ์ผ์ ๋ก์ปฌ๋ก ์ด๋
'software engineering > ๋น ๋ฐ์ดํฐ ์ฒ๋ฆฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BigData] Spark(์คํํฌ) (0) | 2024.01.05 |
---|---|
[BigData] MapReduce(๋งต๋ฆฌ๋์ค) ํ๋ก๊ทธ๋๋ฐ ๋ชจ๋ธ (1) | 2024.01.05 |
[BigData] Hadoop ํ๋ก (1) | 2024.01.05 |
[BigData] ๋ถ์ฐ ํ์ผ ์์คํ (1) | 2024.01.03 |
[BigData] ๋ถ์ฐ์์คํ ๊ณผ ๋ฆฌ๋ ์ค, ๊ฐ์ํ ๊ธฐ์ (0) | 2024.01.03 |