software engineering/๋น…๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ

[BigData] Hadoop ํ•˜๋‘ก

jjingle 2024. 1. 5. 09:38

Hadoop ?

๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” JAVA ๊ธฐ๋ฐ˜์˜ ์˜คํ”ˆ์†Œ์Šค ํ”„๋ ˆ์ž„์›Œํฌ
  • ๋ถ„์‚ฐํŒŒ์ผ(HDFS)์™€ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ(MapReduce)์„ ์ œ๊ณต
  • ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ HDFS ํ˜•ํƒœ๋กœ ์ž˜๊ฒŒ ์ชผ๊ฐœ์–ด ์ €์žฅ์‹œ์ผœ ๋†“์€ ๋’ค, MapReduce๋ฅผ ์ด์šฉํ•ด ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ
  • Hadoop์„ ์ด์šฉํ•˜๋ฉด ๋‹ค์ˆ˜์˜ ์ปดํ“จํŒ… ๋…ธ๋“œ๋ฅผ ๋งˆ์น˜ ํ•˜๋‚˜์˜ ์ปดํ“จํ„ฐ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ถ„์‚ฐ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ์— ์ตœ์ ํ™”๋˜์–ด ์„ค๊ณ„๋จ

 

Hadoop ์˜ ์„ค๊ณ„ ์ฒ ํ•™

  1. Fault tolerance (๊ฒฐํ•จ ํ—ˆ์šฉ์„ฑ)
    • ์‹œ์Šคํ…œ ์ˆ˜ํ–‰ ์ค‘ ๊ฒฐํ•จ์ด ๋ฐœ์ƒํ•˜๋”๋ผ๋„, ๊ฒฐํ•จ์„ ๊ทน๋ณตํ•˜๊ณ  ๊ณ„์†์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„
    • ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๊ณณ์— ๋ณต์ œํ•ด๋†“์•„ ํŠน์ • ๋…ธ๋“œ์— ์†์ƒ์ด ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ์ž‘์—…์„ ๊ณ„์†์ ์œผ๋กœ ์ด์–ด๋‚˜๊ฐˆ ์ˆ˜ ์žˆ์Œ
  2. Scalability (ํ™•์žฅ์„ฑ)
    • ๋…ธ๋“œ๋ฅผ ํ™•์žฅํ•˜๋”๋ผ๋„ ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ์ด ์„ ํ˜•์ ์œผ๋กœ ์ฆ๊ฐ€
  3. Data Locality (๋ฐ์ดํ„ฐ ์ง€์—ญ์„ฑ)
    • ๋ฐ์ดํ„ฐ ์—ฐ์‚ฐ์„ ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ ์—ฐ์‚ฐ ๋กœ์ง์ด ์žˆ๋Š” ๊ณณ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ด๋™์‹œํ‚ค์ง€ ์•Š๊ณ , ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ๊ณณ์—์„œ ์—ฐ์‚ฐํ•จ

 

Hadoop์˜ ๊ตฌ์กฐ

  1.  Yarn(Yet Another Resource Negotiator) ์„ ํ™œ์šฉํ•œ ํ•˜๋‘ก ํด๋Ÿฌ์Šคํ„ฐ ๊ด€๋ฆฌ
    • Yarn ์˜ ๊ตฌ์„ฑ์š”์†Œ
      • Resource Manager(RM) : Master์—์„œ ๊ตฌ๋™๋˜๋ฉฐ, ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ž์› ํ• ๋‹น์„ ๊ด€๋ฆฌ
      • Node Manager(NM) : Worker์—์„œ ๊ตฌ๋™๋˜๋ฉฐ, ๊ฐ ๋‹จ์ผ ๋…ธ๋“œ์˜ Task ์‹คํ–‰์„ ๋‹ด๋‹น
      • Application Master(AM) : ํ•˜๋‚˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ด€๋ฆฌ
      • Container : CPU, ๋ฉ”๋ชจ๋ฆฌ, ๋””์Šคํฌ, ๋„คํŠธ์›Œํฌ ๊ฐ™์€ ์‹œ์Šคํ…œ ์ž์›์„ ์ปจํ…Œ์ด๋„ˆ ๋‹จ์œ„๋กœ ํŒจํ‚ค์ง•