ํ๋ก ์ํ๊ณ ๋ฐ์ดํฐ ์์ง/์ ์ฅ/์ฒ๋ฆฌ/์ ์ฌ
๋ฐ์ดํฐ ์์ง - Kafka - ์ค์๊ฐ ๋ถ์ฐํ๊ฒฝ์์ ๋ฉ์์ง๋ฅผ ์ก์์ ํ๋ ๋ฉ์์ง ์ ๋ฌ ์๋ฃจ์
๋ถ์ฐ ๋ฐ์ดํฐ ์ ์ฅ - HDFS - ๋ฐ์ดํฐ๋ฅผ ํด๋ฌ์คํฐ ํ๊ฒฝ์ ๋ถ์ฐ ์ ์ฅํ๋ ์๋ฃจ์
์ผ๋ก Namenode(๋ฆฌ๋๋
ธ๋)์ Datanode(์ปดํจํ
๋
ธ๋)๋ก ๊ด๋ฆฌ
๋ถ์ฐ ํด๋ฌ์คํฐ ๊ด๋ฆฌ - YARN - ๋ถ์ฐ ํด๋ฌ์คํฐ์ ๋ฆฌ์์ค ๊ด๋ฆฌ ์๋ฃจ์
์ผ๋ก Resourse Manager๊ฐ Node Manager๋ฅผ ๊ด๋ฆฌ
๋ถ์ฐ ๋ฐ์ดํฐ ๋ฐฐ์น์ฒ๋ฆฌ - Hadoop MapReduce - Map๊ณผ Reduce์ 2์๋ก ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ํ๋ก ๊ธฐ๋ฐ์ ๋ฐฐ์น ์์
ํ๋ซํผ
์ธ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํฐ ์ฒ๋ฆฌ - Apache Spark - ์ธ๋ฉ๋ชจ๋ฆฌ ์์์์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ํ๋ซํผ์ผ๋ก ๋ฐฐ์น์ฒ๋ฆฌ, ์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ, SQL ์ง์์ Graph ์ฒ๋ฆฌ, ๋จธ์ ๋ฌ๋ ๊ฐ์ ํ์ ํ๋ก์ ํธ๋ฅผ ์ฌ์ฉ
๋ฐ์ดํฐ์จ์ดํ์ฐ์ค ์ฐ๋ - Hive - ํ๋ก ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค ์์คํ
๋ถ์ฐ ํด๋ฌ์คํฐ์์ ๋ฐ์ดํฐ ๊ฒ์ ๋ฐฉ๋ฒ: ElasticSearch
Restful ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ์ ํ, ๋น์ ํ, ๋ฐ์ดํฐ ์์น์ ๋ณด, ๋ฉํธ๋ฆญ ๋ฑ ์ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ค์ํ ์ ํ์ ๋ฐ์ดํฐ ๊ฒ์ ์ํ
ํ๋ก ์ํ๊ณ๋ฅผ ์ฌ์ฉํ๋ ์ด์
1. ํ๋ก์ HDFS๋ ๋์ผํ ์ ๊ฐ ๋ฆฌ๋
์ค๋ฅผ ๋ถ์ฐ ํด๋ฌ์คํฐ๋ก ์ฌ์ฉํ์ฌ scale out์ ์ฌ์ฉ -> ์ ์ฅ์์ ๋น์ฉ์ด ์ ๋ ดํจ
2. ์ ํ ๋ฐ์ดํฐ ์ธ์๋ ๋ฐ์ ํ, ๋น์ ํ ๋ฐ์ดํฐ ๋ชจ๋ ๋ค๋ฃธ
3. YARN์ผ๋ก ๋ฉ๋ชจ๋ฆฌ, CPU, ๋์คํฌ ๋ฆฌ์์ค๋ฅผ ํจ์จ์ ์ผ๋ก ์ ๋ ดํ๊ฒ ๊ด๋ฆฌ ๊ฐ๋ฅ -> ์ด์ํ ๋ ๋ฆฌ์์ค ๊ด๋ฆฌ ํฌ์ธํธ์์ ์ข ์์ ๋ก์
4. ๋ฅ๋ฌ๋, ์ธ๊ณต์ง๋ฅ์์ ํ์ํ INPUT ๋ฐ์ดํฐ ์ ๊ณต ๊ฐ๋ฅ -> ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ํตํ ๋ฐ์ดํฐ์ ์ธ์ฌ์ดํธ ์ถ์ถ ๊ฐ๋ฅ
5. Schema on Read -> ๋ฐ์ดํฐ๋ฅผ read ํ๋ ์์ ์ ์คํค๋ง๋ฅผ ์ง์ ํ์ฌ ๋ฐ์ดํฐ ์ถ์ถ -> ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ์คํค๋ง์ ์์น๊ฐ ๋ชจ๋ ๋ฌ๋ผ์ ์๊ฐ ์ ์ฝ ๊ฐ๋ฅ
๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ
์ ์: ์์ ๋ฐ์ดํฐ๋ฅผ ๋น์ฆ๋์ค ์๊ตฌ์ฌํญ์ ๋ถ์ ๋ฐ ์ฒ๋ฆฌ์ ์ ํฉํ ํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํ๊ณ ์ฒ๋ฆฌํ๋ ์์
<br>
๊ธฐ๋ฒ: ๋ฐ์ดํฐ ์ ์ , ๋ฐ์ดํฐ ํตํฉ, ๋ฐ์ดํฐ ๋ณํ, ๋ฐ์ดํฐ ์ ๋ฆฌ
ETL ํ๋ก์ธ์ค(Extract/Transformation/Loading)
๋ฐ์ดํฐ ์์งํ๊ณ ๋น์ฆ๋์ค ๊ท์น์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฅผ ๋ณํํ ํ ๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ์๋ก ์ ์ฌํ๋๋ฐ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ
ELT ํ๋ก์ธ์ค(Extract&Load/Transformation)
์ผ๋จ ๋ฐ์ดํฐ๋ฅผ ์์งํญ ์ ์ฌํ๊ณ ์ดํ ๋น์ฆ๋์ค ์๊ตฌ์ฌํญ์ ๋ง์ถฐ ๋ฐ์ดํฐ ๋ณํ -> ๋น์ฆ๋์ค ์๊ตฌ์ฌํญ์ด ์ ํด์ง์ง ์์์ด๋ ๋ฐ์ดํฐ ์ ์ฌ ๊ฐ๋ฅ
ํ๋กํ์ผ์์คํ
- ๊ตฌ์ฑ: ๋ง์คํฐ ์ญํ ์ NameNode์ ๋ฐ์ดํฐ๋ฅผ ์ค์ ๋ก ์ ์ฅํ๋ ๋ค์์ ์ฌ๋ ์ด๋ธ Datanode
- ๊ตฌ์กฐ: ๋ง์คํฐ-์ฌ๋ ์ด๋ธ ๊ตฌ์กฐ(ํ๋์ ๋ง์คํฐ์ ์ฌ๋ฌ๊ฐ์ ์ฌ๋ ์ด๋ธ ๊ตฌ์กฐ)
- ๋์์๋ฆฌ
1. ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฅผ HDFS์ ์ ์ฅ
2. HDFS Client๋ ๋ฉํ๋ฐ์ดํฐ(ํ์ผ๋ช
, ํด๋๊ตฌ์กฐ ๋ฑ)๋ฅผ NameNode์ ์ ์ฅ
3. NameNode๋ Datanode์๊ฒ ๋ฐ์ดํฐ ๊ด๋ จ ๋ช
๋ น ์ง์, Datanode๋ ์์ ์ ์ํ ์ ๋ณด๋ฅผ NameNode์๊ฒ ์ก์
4. Datanode์์ ์ฌ๋ฌ๊ฐ์ ๋ธ๋ก์ผ๋ก ๋๋ ์ ธ ์ค๋ฐ์ดํฐ๊ฐ ๋ณต์ ์ ์ฅ๋จ
5. ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ฌ ๊ฒฝ์ฐ, HDFS Client๋ NameNode๋ก๋ถํฐ ํ์ผ ๋ธ๋ก์ ๋ํ ๋ฉํ ๋ฐ์ดํฐ ์ ๋ณด๋ฅผ ์์
6. HDFS Client๊ฐ ์ํ๋ ๋ฐ์ดํฐ๊ฐ ์๋ Datanode์ ํ์ผ ๋ธ๋ก์ ์ฐพ์์ ํ์ผ์ ์ฝ์ด์ด.
7. NameNode์ ๋ฉํ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์, Secondary Namenode์ Edits ํ์ผ์ ๋ก๊ทธ ์ ์ฅ
Yarn์ ๊ตฌ์กฐ
|๋ฐ๋ชฌ|๊ธฐ๋ฅ|
|------|---|
|Resource Manager|Yarn์ ๋ง์คํฐ ์ญํ ์ํ(์ด๊ด ๊ด๋ฆฌ์)|
|Scheduler|Resource Manager ๋ด์ ๋ฐ๋ชฌ์ผ๋ก Node Manager์ ํต์ ํ๋ฉฐ, Application Master์ ์์ ํ ๋น|
|Application Manager|Resource Manager ๋ด์ ๋ฐ๋ชฌ์ผ๋ก Application Master ์คํ ๋ฐ ์ํ ๊ด๋ฆฌ|
|Node Manager|๊ฐ ๋
ธ๋์ ์ํ ์ ๋ณด๋ฅผ ๋ชจ๋ํฐ๋ง ํ์ฌ Resource Manager์๊ฒ ์ ๊ณต|
|Application Master|๊ฐ๊ฐ์ Application์ ๊ด๋ฆฌํ๋ ๋ง์คํฐ์ ์ญํ |
|Container|Application Master๊ฐ ๊ด๋ฆฌํ๋ ํ์คํฌ๋ฅผ ์ํ, Node Manager์ ์ํด ์์ฑ|
ํ๋กํ์ผ์์คํ
์ ์ฅ์
- ์ค์ผ์ผ ์์ ๋ถ์ฐ ์์คํ
(๋ณ๋ ฌ๋ก ์ค์ผ์ผ ์์๋จ์ผ๋ก ๋ฐ์ดํฐ ์์ ๋ฐ๋ผ์ ์๋ฒ ํ์)
- ์ฅ์ ๋ณต๊ตฌ(๋ง์คํฐ ์๋ฒ๊ฐ ์ฌ๋ ์ด๋ธ ์๋ฒ์ ์ฅ์ ๋ฅผ ์ค์๊ฐ์ผ๋ก ๊ฐ์งํ์ฌ ์๋น์ค ์ฐํ OR ๋ค๋ฅธ ๋
ธ๋์ ๋ณต์ ๋ ๋ฐ์ดํฐ ์ฌ์ฉ)
- ๋์ฉ๋๋ฐ์ดํฐ(ํ๋ฒ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ only read = ๋ฐ์ดํฐ ์
๋ฐ์ดํธ X)
'Dataops > Hadoop' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| fredapi ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค๋ฅ (0) | 2024.03.03 |
|---|
