์ƒ์„ธ ์ปจํ…์ธ 

๋ณธ๋ฌธ ์ œ๋ชฉ

[๋น…๋ฐ์ดํ„ฐ์ฒ˜๋ฆฌ] Hadoop, Sqoop, ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ (Kafka, Spark Streaming)

๐Ÿ˜Ž ์ง€์‹ in Action/AI (learn, usage)๐Ÿฆพ

by :ํ•ดํ”ผ๋ž˜๋น—๐Ÿพ 2024. 12. 17. 12:54

๋ณธ๋ฌธ

HDFS(Hadoop Distributed File System)

๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๋…ธ๋“œ์— ๋ถ„์‚ฐ ์ €์žฅํ•˜๋Š” Hadoop์˜ ๋ถ„์‚ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ

 
- ํŒŒ์ผ์„ ๋ธ”๋ก ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„์–ด ์ €์žฅํ•œ๋‹ค
- ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์— ์ตœ์ ํ™”๋˜์–ด ์žˆ๋‹ค
- ๋ธ”๋ก ๋‹จ์œ„๋กœ ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ ๋ณต์ œ๊ฐ€ ์šฉ์ดํ•˜๋‹ค
 

NameNode์™€ DataNode์˜ ์—ญํ• 

- HDFS๋Š” ๋งˆ์Šคํ„ฐ ์Šฌ๋ ˆ์ด๋ธŒ ๊ตฌ์กฐ๋ฅผ ๋”ฐ๋ฅธ๋‹ค
 
1) NameNode(๋งˆ์Šคํ„ฐ ๋…ธ๋“œ)
 ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ : ํŒŒ์ผ์˜ ์ด๋ฆ„, ๋ธ”๋ก์˜ ์œ„์น˜, ํŒŒ์ผ ์‹œ์Šคํ…œ ํŠธ๋ฆฌ ๋“ฑ์„ ๊ด€๋ฆฌํ•จ
 ๋ฐ์ดํ„ฐ ๋ธ”๋ก์˜ ์œ„์น˜์™€ ์ƒํƒœ๋ฅผ ์ถ”์ ํ•จ
 ํด๋Ÿฌ์Šคํ„ฐ์— ์ค‘์•™ ์ง‘์ค‘์‹ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•จ
 ๋‹จ์ผ ์žฅ์•  ์ง€์ (Single Point of Failure)๊ฐ€ ๋  ์ˆ˜ ์žˆ์–ด ๊ณ ๊ฐ€์šฉ์„ฑ์„ ์œ„ํ•ด Secondary NameNode๋ฅผ ์‚ฌ์šฉํ•จ
 
2) DataNode(์Šฌ๋ ˆ์ด๋ธŒ ๋…ธ๋“œ)
 ์‹ค์ œ ๋ฐ์ดํ„ฐ ๋ธ”๋ก์„ ์ €์žฅํ•จ
 ์ฃผ๊ธฐ์ ์œผ๋กœ NameNode์— ์ƒํƒœ ๋ณด๊ณ ๋ฅผ ํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ์˜ ๋ณต์ œ๋ณธ์„ ์œ ์ง€ํ•จ
 NameNode์˜ ๋ช…๋ น์— ๋”ฐ๋ผ ๋ธ”๋ก์„ ์ฝ๊ฑฐ๋‚˜ ์“ฐ๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•จ
 

HDFS ๋ฐ์ดํ„ฐ ์ €์žฅ ๊ณผ์ • ์˜ˆ์‹œ

1. ์‚ฌ์šฉ์ž๊ฐ€ ํŒŒ์ผ์„ HDFS์— ์—…๋กœ๋“œํ•˜๋ฉด NameNode๊ฐ€ ํŒŒ์ผ์„ ๋ธ”๋ก์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค
2. ๋‚˜๋ˆ ์ง„ ๋ธ”๋ก์€ DataNode์— ๋ถ„์‚ฐ ์ €์žฅ๋œ๋‹ค
3. NameNode๋Š” ๋ธ”๋ก์˜ ์œ„์น˜ ์ •๋ณด๋ฅผ ๊ธฐ๋กํ•œ๋‹ค.
4. ๋ฐ์ดํ„ฐ ๋ณต์ œ๋ณธ(๋””ํดํŠธ3๊ฐœ)์„ ๋‹ค๋ฅธ DataNode์— ์ €์žฅํ•ด ๋ฐ์ดํ„ฐ ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•œ๋‹ค.
 
 

์Šค์ฟฑ

Sqoop

RDBMS <=> HDFS ๋ฐ์ดํ„ฐ ์ „์†กํ•˜๋Š” ETL ๋„๊ตฌ 

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ์ดํ„ฐ๋ฅผ HDFS๋กœ ๊ฐ€์ ธ์™€ Hive์—์„œ ๋ถ„์„
RDBMS๋กœ ๋ถ„์„๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ๋‚ด๋ณด๋‚ด๊ธฐ
 

Hadoop ์ž์ฒด๋Š” ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ์— ๊ฐ•์ ์ด ์žˆ์ง€๋งŒ,
์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์š”๊ตฌ์— ๋Œ€์‘ํ•˜๊ธฐ ์œ„ํ•ด Spark์™€ Kafka ๋“ฑ์˜ ๋„๊ตฌ๋ฅผ ํ™œ์šฉ

 

 

Hadoop๊ณผ Spark Streaming, Kafka ์—ฐ๊ณ„ ์˜ˆ์‹œ

  1. ๋ฐ์ดํ„ฐ ๋ฐœ์ƒ์ง€: IoT ์„ผ์„œ, ์›น ๋กœ๊ทธ, ์• ํ”Œ์›Œ์น˜ ๋ฐ์ดํ„ฐ ๋“ฑ
  2. Kafka: ๋ฐ์ดํ„ฐ๋ฅผ ํ† ํ”ฝ์œผ๋กœ ๋ฐœํ–‰ํ•˜์—ฌ ์‹ค์‹œ๊ฐ„ ์ˆ˜์ง‘
  3. Spark Streaming:
    • Kafka์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์‹œ๊ฐ„ ๊ตฌ๋…
    • ๋ฐ์ดํ„ฐ๋ฅผ ํ•„ํ„ฐ๋ง, ๋ณ€ํ™˜, ์ง‘๊ณ„
  4. HDFS ์ €์žฅ: ์ฒ˜๋ฆฌ๋œ ๋ฐ์ดํ„ฐ๋ฅผ HDFS์— ์ €์žฅํ•˜์—ฌ ๋ฐฐ์น˜ ๋ถ„์„ ์ˆ˜ํ–‰
  5. API ์ œ๊ณต: Spark SQL์ด๋‚˜ HBase๋ฅผ ํ†ตํ•ด ์‹ค์‹œ๊ฐ„ ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ API๋กœ ์ œ๊ณต

 

Kafka

์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ์„ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ๋„๋ฆฌ ์‚ฌ์šฉ๋จ

  • Publish/Subscribe ๋ชจ๋ธ ๊ธฐ๋ฐ˜
  • ํ† ํ”ฝ(Topic)์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐœํ–‰ํ•˜๊ณ , ์—ฌ๋Ÿฌ ๊ตฌ๋…์ž(Consumer)๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌ

 

Spark Streaming

๋ฐ์ดํ„ฐ๋ฅผ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ธ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ํ”„๋ ˆ์ž„์›Œํฌ
HDFS๋ž‘ ์—ฐ๊ณ„๊ฐ€ ์ž˜ ๋จ

  1. Kafka์—์„œ ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ ์ˆ˜์‹ 
  2. Spark Streaming์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ
  3. ์ฒ˜๋ฆฌ๋œ ๊ฒฐ๊ณผ๋ฅผ HDFS, HBase, ๋˜๋Š” RDBMS์— ์ €์žฅ
  4. ํ•„์š” ์‹œ ๊ฒฐ๊ณผ๋ฅผ API๋ฅผ ํ†ตํ•ด ์ œ๊ณต

 


Kafka๊ฐ€ ํ•„์š”ํ•œ ์ด์œ 

1. ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ ๊ด€๋ฆฌ
Kafka๋Š” ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ๋ถ„์‚ฐ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ํŠนํ™”๋˜์–ด ์žˆ๋‹ค
Producer๊ฐ€ ๋ฐœํ–‰ํ•˜๊ณ  Consumer๊ฐ€ ๊ตฌ๋…ํ•˜๋Š” ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ์ง€์›ํ•จ์œผ๋กœ์„œ ์‹œ์Šคํ…œ ๊ฐ„์˜ ๋…๋ฆฝ์„ฑ์ด ๋ณด์žฅ๋œ๋‹ค
Kafka ์—†์ด ์ง์ ‘ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ๊ณผ ์—ฐ๊ฒฐ๋œ๋‹ค๋ฉด ํ™•์žฅ์„ฑ๊ณผ ์œ ์—ฐ์„ฑ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค
 
2. ์—ฌ๋Ÿฌ ์‹œ์Šคํ…œ์— ๋ฐ์ดํ„ฐ ๋ถ„๋ฐฐ
์‹ค์‹œ๊ฐ„ ๋กœ๊ทธ ๋ฐ์ดํ„ฐ => Spark Streaming 
๋™์ผํ•œ ๋ฐ์ดํ„ฐ => HBase์— ์ €์žฅ
 
3. ํ™•์žฅ์„ฑ๊ณผ ์œ ์—ฐ์„ฑ ํ™•๋ณด
๋ถ„์‚ฐ์‹œ์Šคํ…œ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๋…ธ๋“œ๋กœ ๋ถ„์‚ฐํ•˜์—ฌ ์ €์žฅํ•œ๋‹ค
Topic์€ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒŒํ‹ฐ์…˜์— ๋‚˜๋ˆ„์–ด ์ €์žฅํ•˜๋ฏ€๋กœ ์ˆ˜ํ‰ ํ™•์žฅ์ด ์šฉ์ดํ•˜๋‹ค
๋ฐ์ดํ„ฐ ๋ฐœ์ƒ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•ด๋„ Kafka๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค
 
4. ๋ฐ์ดํ„ฐ์˜ ๋‚ด๊ตฌ์„ฑ๊ณผ ์žฌ์ฒ˜๋ฆฌ
Kafka๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋””์Šคํฌ์— ์ €์žฅํ•˜๋ฏ€๋กœ ๋ฐ์ดํ„ฐ ์œ ์‹ค ๊ฐ€๋Šฅ์„ฑ์ด ์ ๊ณ , 
Offset ๊ธฐ๋ฐ˜์œผ๋กœ ํŠน์ • ์‹œ์ ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์žฌ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ ๋‹ค์‹œ ์ฝ๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค
 
๋ฐ์ดํ„ฐ ์œ ์‹ค ๊ฐ€๋Šฅ์„ฑ: ๋ฐ์ดํ„ฐ ์†Œ์Šค์™€ ์†Œ๋น„ ์‹œ์Šคํ…œ ์‚ฌ์ด์˜ ์—ฐ๊ฒฐ์ด ๋Š๊ธฐ๋ฉด ๋ฐ์ดํ„ฐ ์œ ์‹ค ์œ„ํ—˜์ด ํผ.
 
 
 

728x90

๊ด€๋ จ๊ธ€ ๋”๋ณด๊ธฐ