Data Engineering/Hadoop

[Hadoop Study] vol 2. HDFS(Hadoop Distributed File System) ๊ฐœ๋…๊ณผ ๊ตฌ์กฐ

๋žญํ˜ธ(Langho) 2020. 11. 28.
Hadoop Study ์ด์ „๊ธ€

2020/11/12 - [Data Science/Hadoop] - [Hadoop Study] vol 1. Hadoop์ด๋ž€?

 

 

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” Hadoop์˜ ๊ตฌ์„ฑ ์š”์†Œ ์ค‘ HDFS(Hadoop Distributed File System)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

HDFS๋Š” File System ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ์ˆ˜ ๋งŽ์€ ์ปดํ“จํ„ฐ๋กœ ์ด๋ฃจ์–ด์ง„ ํด๋Ÿฌ์Šคํ„ฐ์— ํŒŒ์ผ์„ ๋ถ„์‚ฐ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” Hadoop ๋งž์ถค ํŒŒ์ผ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์ด ํ•„์š”ํ•œ ์ด์œ ์™€ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„๋˜๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

HDFS Architecture

Hadoop์€ DBMS๊ฐ€ ํ•œ ๋Œ€์˜ ๋จธ์‹ ์œผ๋กœ ์ฒ˜๋ฆฌ๊ฐ€ ๊ณค๋ž€ํ•ด์ง€๊ฒŒ ๋ฐฉ๋Œ€ํ•ด์ง€๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๋ถ„์‚ฐ ์ €์žฅ ๋ฐ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. HDFS๋Š” ํด๋Ÿฌ์Šคํ„ฐ์— ํŒŒ์ผ์„ ๋ถ„์‚ฐํ•˜์—ฌ ์ €์žฅํ•˜๊ณ  ์ด๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ๊ด€๋ฆฌํ•ด์ค๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” HDFS์˜ ์ „์ฒด์ ์ธ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : https://wooyoung85.tistory.com/46

HDFS๋Š” Name node, Data node, Client ๋ชจ๋“ˆ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Name node๋Š” HDFS ์ „๋ฐ˜์ ์ธ ๊ตฌ์„ฑ ์ •๋ณด์™€ ๋ธ”๋ก ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. Data node๋Š” ์‹ค์ œ ํŒŒ์ผ์„ ์ €์žฅํ•˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค. Client๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘์„ฑํ•œ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ HDFS์— ํŒŒ์ผ์„ ์“ฐ๊ฑฐ๋‚˜ ์ฝ๋Š” ์ž‘์—…์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

 

 

HDFS ํŒŒ์ผ ์ €์žฅ ๋ฐฉ์‹

HDFS๋Š” ํŒŒ์ผ์„ ๋ถ„์‚ฐ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋จผ์ € ํŒŒ์ผ์˜ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ์™€ ์ปจํ…์ธ  ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋Š” ํŒŒ์ผ์˜ ์ ‘๊ทผ ๊ถŒํ•œ, ์ƒ์„ฑ/์ˆ˜์ • ์‹œ๊ฐ„, name space ๋“ฑ ํŒŒ์ผ์˜ ์„ค๋ช… ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ปจํ…์ธ  ๋ฐ์ดํ„ฐ๋Š” ์‹ค์ œ ํŒŒ์ผ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค.

๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” Name node์— ์ €์žฅ๋˜๊ณ  ์ปจํ…์ธ  ๋ฐ์ดํ„ฐ๋Š” ๋ธ”๋ก ๋‹จ์œ„๋กœ ์ชผ๊ฐœ์ ธ Data node์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ๋ธ”๋ก์˜ ๊ธฐ๋ณธ ํฌ๊ธฐ๋Š” 128MB์ด๋ฉฐ ์ตœ์†Œ 3๊ฐœ์˜ ๋ณต์‚ฌ๋ณธ์„ ์ƒ์„ฑํ•˜์—ฌ ๋ถ„์‚ฐ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : https://faqreviews.net/question/what-is-hdfs-data-block/

๋ธ”๋ก์„ Data node์— ๋ถ„์‚ฐ ์ €์žฅํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— Name node๋Š” ํ•œ ํŒŒ์ผ์ด ๋‚˜๋ˆ  ์ €์žฅ๋œ ๋ธ”๋ก ๋ฆฌ์ŠคํŠธ์™€ ๊ทธ ๋ธ”๋ก์ด ์ €์žฅ๋œ ์œ„์น˜๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. Data node ์—ญ์‹œ ๋ธ”๋ก๊ณผ ํ•จ๊ป˜ ๋ธ”๋ก์— ๋Œ€ํ•œ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

 

 

Name node

Name node์˜ ์ฃผ์š” ์—ญํ• ์€ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ์™€ Data node ๊ด€๋ฆฌ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ, HDFS์— ํŒŒ์ผ์„ ์ฝ๊ฑฐ๋‚˜ ์“ฐ๋Š” ์ž‘์—…์˜ ์‹œ์ž‘์  ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ

๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ํŒŒ์ผ์ด๋ฆ„, ํŒŒ์ผํฌ๊ธฐ, ์ƒ์„ฑ์‹œ๊ฐ„, ์ ‘๊ทผ๊ถŒํ•œ, ์†Œ์œ ์ž ๋ฐ ๊ทธ๋ฃน ์†Œ์œ ์ž, ํŒŒ์ผ์ด ์œ„์น˜ํ•œ ๋ธ”๋ก์˜ ์ •๋ณด ๋“ฑ์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ๋ฐ์ดํ„ฐ ๋…ธ๋“œ์—์„œ ์ „๋‹ฌํ•˜๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์„œ ์ „์ฒด ๋…ธ๋“œ์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ •๋ณด์™€ ํŒŒ์ผ ์ •๋ณด๋ฅผ ๋ฌถ์–ด์„œ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์˜ ์ข…๋ฅ˜์—๋Š” Fsimage ํŒŒ์ผ๊ณผ Edits ํŒŒ์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. Fsimage ํŒŒ์ผ์—๋Š” name space์™€ ๋ธ”๋ก ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ  Edits ํŒŒ์ผ์€ ์ƒ์„ฑ/์‚ญ์ œ์— ๋Œ€ํ•œ ํŠธ๋žœ์ ์…˜ ๋กœ๊ทธ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ฐ์ดํ„ฐ์˜ ์ˆ˜์ •์‚ฌํ•ญ์„ ๋‹ค์Œ ๊ตฌ๋™์‹œ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ๊ธฐ์ ์œผ๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

 

Data node ๊ด€๋ฆฌ

๋งจ ์ฒ˜์Œ Data node๋ฅผ Name node์— ๋“ฑ๋กํ•  ๋•Œ handshake๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, Name node๋Š” Data node๊ฐ€ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ „๋‹ฌํ•˜๋Š” heart beat(3์ดˆ)์™€ ๋ธ”๋ก๋ฆฌํฌํŠธ(6์‹œ๊ฐ„)๋ฅผ ์ด์šฉํ•˜์—ฌ Data node์˜ ๋™์ž‘ ์ƒํƒœ, ๋ธ”๋ก ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

  • hand shake๋ฅผ ํ†ตํ•ด Name node๋Š” Data node๊ฐ€ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•œ์ง€ ์ ์ ˆํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ ํ•ฉํ•œ Data node์ž„์ด ํ™•์ธ๋˜๋ฉด ์‹๋ณ„๊ฐ€๋Šฅํ•œ ๊ณ ์œ  id๋ฅผ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.
  • heart beat๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋…ธ๋“œ์˜ ๋™์ž‘ ์—ฌ๋ถ€๋ฅผ ํŒŒ์•…ํ•˜๊ณ  ๋ฌธ์ œ ๋ฐœ์ƒ์‹œ ์กฐ์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ธ”๋ก๋ฆฌํฌํŠธ๋ฅผ ์ด์šฉํ•˜์—ฌ HDFS์— ์ €์žฅ๋œ ํŒŒ์ผ์— ๋Œ€ํ•œ ์ตœ์‹  ์ •๋ณด๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๋ธ”๋ก๋ฆฌํฌํŠธ์—๋Š” Data node์— ์ €์žฅ๋œ ๋ธ”๋ก ๋ชฉ๋ก๊ณผ ๊ฐ ๋ธ”๋ก์ด ์ €์žฅ๋œ ์œ„์น˜์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

ํŒŒ์ผ ์ฝ๊ธฐ ์ž‘์—…
  1. ํด๋ผ์ด์–ธํŠธ๋Š” Name node์— ํŒŒ์ผ์˜ name space์— ํ•ด๋‹นํ•˜๋Š” ๋ธ”๋ก๋“ค์˜ ๋ชฉ๋ก๊ณผ ์ฃผ์†Œ๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.
  2. ํด๋ผ์ด์–ธํŠธ๋Š” ๊ฐ€์žฅ ๊ฐ€๊นŒ์ด ์œ„์น˜ํ•œ Data node์—์„œ ๋ธ”๋ก์„ ์ฝ์–ด์˜ต๋‹ˆ๋‹ค.

ํŒŒ์ผ์“ฐ๊ธฐ ์ž‘์—…
  1. ํด๋ผ์ด์–ธํŠธ๋Š” Name node์—๊ฒŒ ์–ด๋Š Data node์— ๋ธ”๋ก์„ ์“ฐ๋ฉด ์ข‹์„์ง€ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.
  2. Name node๊ฐ€ Data node๋ฅผ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.
  3. ํด๋ผ์ด์–ธํŠธ๋Š” ๋ธ”๋ก์„ ์“ฐ๊ธฐ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  4. ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์„ ์ด์šฉํ•ด์„œ ๋ธ”๋ก ์“ฐ๊ธฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

 

Data node

ํŒŒ์ผ์˜ ์ปจํ…์ธ  ๋ฐ์ดํ„ฐ๋Š” ๋ธ”๋ก ๋‹จ์œ„๋กœ ๋‚˜๋‰˜๋ฉฐ, ํ•˜๋‚˜์˜ ๋ธ”๋ก์€ ์ ์–ด๋„ 3๊ฐœ์˜ ๋ณต์‚ฌ๋ณธ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. Data node๋Š” ๊ทธ์ค‘ ํ•˜๋‚˜์˜ ๋ณต์‚ฌ๋ณธ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : https://yeomko.tistory.com/38

 

 

Name node Back up & Availability

์œ„์™€ ๊ฐ™์ด Name node๋Š” ๋งค์šฐ ์ค‘์š”ํ•˜๊ณ  ๋งŽ์€ ์—ญํ• ์„ ๋‹ด๋‹นํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ Name node์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด ์ „์ฒด ์‹œ์Šคํ…œ์— ํฐ ํƒ€๊ฒฉ์„ ์ž…์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด, Image, Check point, Journal ๊ฐœ๋…์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

image๋ž€ ํŒŒ์ผ์˜ ๋ฉ”ํƒ€ ์ •๋ณด๋ฅผ ๋‹ด์€ inode์™€ ๊ฐ ํŒŒ์ผ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ธ”๋ก๋“ค์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ํ•ฉ์ณ ์ง€์นญํ•˜๋Š” ๊ฐœ๋…(์‹ค์ œ ๋ธ”๋ก์ด ์ €์žฅ๋œ ์œ„์น˜ ์ •๋ณด๋Š”  ๊ณ„์† ๋ณ€ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ œ์™ธ)์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ image๋ฅผ ๋””์Šคํฌ์— ์“ด ๊ฒƒ์ด check point์ž…๋‹ˆ๋‹ค. journal์€ image์— ๋ฐœ์ƒํ•œ ๋ชจ๋“  ๋ณ€ํ™”๋“ค์„ ๊ธฐ๋กํ•œ ๋กœ๊ทธ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.

Name node๋Š” ๊ฐ€์šฉ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ๊ธฐ์ ์œผ๋กœ check point๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. Name node ์žฅ์•  ๋ฐœ์ƒ์‹œ, ๊ฐ€์žฅ ์ตœ์‹  check point๋ฅผ ์ฝ์–ด์˜จ ๋‹ค์Œ journal์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰์‹œ์ผœ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค. ๊ฒŒ์ž„์—์„œ check point์™€ ์•„์ฃผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. check point ์ƒ์„ฑ์ด Name node์— ๋ถ€๋‹ด์ด ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ณ„๋„์˜ ๋ฐฑ์—… ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ Name node์˜ ๋ถ€๋‹ด์„ ์ค„์—ฌ ์ฃผ๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ์—๋„ ํ•œ ๋Œ€์˜ Name node๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์€ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์žฅ์• ์„ ์ผ์œผํ‚ค๋ฉด ์ „์ฒด ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ๋ฉˆ์ถ”๊ฒŒ ๋  ์œ„ํ—˜์„ฑ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด Active/Standby ๊ตฌ์กฐ๋กœ ์šด์˜๋ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ ์‹คํ–‰๋˜๋Š” Active Name node์™€ ์žฅ์• ์‹œ Active๋ฅผ ๋Œ€์‹ ํ•  Standby Name node๋ฅผ ๋งˆ๋ จํ•˜์—ฌ Availability๋ฅผ ๋†’์ด๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐฑ์—…๋…ธ๋“œ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” journal node๋ฅผ Name node์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

 

 

Block Placement

๋ธ”๋ก์„ ์–ด๋–ป๊ฒŒ ๋ฐฐ์น˜ํ•  ๊ฒƒ์ด๋ƒ๋„ ํŒŒ์ผ์˜ availability, I/O performance ๋“ฑ์„ ๊ฒฐ์ •ํ•˜๋Š” ์ค‘์š”ํ•œ ์‚ฌ์•ˆ์ž…๋‹ˆ๋‹ค. HDFS๋Š” ๋‘ ๋‹จ๊ณ„์˜ ์ถ”์ƒํ™”๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๊ฐ๊ฐ์˜ Data node๋“ค์€ ํ•˜๋‚˜์˜ rack(์„œ๋ฒ„ ์ปดํ“จํ„ฐ๋“ค์„ ๊ฝ‚์•„๋„ฃ์€ ์ผ์ข…์˜ ์ผ€์ด์Šค)์— ๋ฌถ์ž…๋‹ˆ๋‹ค. ๊ฐ™์€ rack์— ๊ฝ‚ํžŒ Data node๋“ค์€ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ ์Šค์œ„์น˜๋ฅผ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ™์€ rack์— ์†ํ•œ Data node๋“ค ๊ฐ„์— ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์ด ๋น ๋ฆ…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ rack๋“ค์€ ์ฝ”์–ด ์Šค์œ„์น˜๋กœ ๋ฌถ์ž…๋‹ˆ๋‹ค. HDFS๋Š” ์ด๋ ‡๊ฒŒ ๋ฌถ์—ฌ์žˆ๋Š” Data node๋“ค์— ์•„๋ž˜์˜ ์›์น™์œผ๋กœ ๋ธ”๋ก replica(๋ณต์ œ๋ณธ)๋“ค์„ ๋ถ„์‚ฐ ์‹œํ‚ต๋‹ˆ๋‹ค.

  1. ํ•˜๋‚˜์˜ Data node์—๋Š” ๋ธ”๋ก replica๋ฅผ ํ•˜๋‚˜๋งŒ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  2. ํ•˜๋‚˜์˜ rack์—๋Š” ๋ธ”๋ก replica๋ฅผ ์ตœ๋Œ€ ๋‘ ๊ฐœ๊นŒ์ง€๋งŒ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์›์น™์— ๋”ฐ๋ผ ๋ธ”๋ก์„ ๋ถ„์‚ฐํ•  ๊ฒฝ์šฐ availability๊ฐ€ ํ™•๋ณด๋ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ Data node๋‚˜ rack์ด ๊ณ ์žฅ๋‚˜๋”๋ผ๋„ ์—ฌ์ „ํžˆ ๋‚จ์€ ๋‹ค๋ฅธ ๊ณณ์— ๋ธ”๋ก replica๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

 

 

Balancer

Data node๋“ค์„ ์šด์˜ํ•˜๋‹ค๋ณด๋ฉด unbalance ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด Data node์˜ ๋””์Šคํฌ ์šฉ๋Ÿ‰๊ณผ ๋‚˜์ค‘์— ์ถ”๊ฐ€ํ•œ Data node์˜ ๋””์Šคํฌ ๊ณต๊ฐ„์˜ ๊ท ํ˜•์ด ๋งž์ง€ ์•Š๋Š” ํ˜„์ƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด, balancer ๋ชจ๋“ˆ์€ Data node๋“ค์˜ ๋””์Šคํฌ ์‚ฌ์šฉ๋Ÿ‰์„ ๋น„์Šทํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฎ๊ฒจ ๊ท ํ˜•์„ ๋งž์ถฐ์ค๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋™์‹œ์— ๊ฐ€์šฉ์„ฑ์„ ์ €ํ•˜ํ•˜์ง€ ์•Š๋„๋ก ๊ฐ™์€ ๋…ธ๋“œ์— ๋‘ replica๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š๊ณ  ๊ฐ™์€ rack์— ์„ธ replica๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š๋„๋ก ์ตœ์ ํ™”ํ•ด์ค๋‹ˆ๋‹ค.

 

 

 

๋งˆ์น˜๋ฉฐ

Hadoop์˜ ๊ตฌ์„ฑ์š”์†Œ ์ค‘ ๋ถ„์‚ฐ ์ €์žฅ ์‹œ์Šคํ…œ์ธ HDFS์— ๋Œ€ํ•ด ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค. ๊ฐœ๋… ์ž์ฒด๋Š” ์–ด๋ ต์ง€ ์•Š์ง€๋งŒ ์•ˆ์ •์„ฑ ํ™•๋ณด๋ฅผ ์œ„ํ•œ ๊ตฌ์กฐ์™€ ๊ฐœ๋…์ด ๋งŽ๊ณ  ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค. ํŽธ๋ฆฌํ•œ ์ƒ์œ„ Tool๋“ค์˜ ๊ธฐ๋ฐ˜์ด๋˜๋Š” ๊ฐœ๋…์ด๋ผ ํ™•์‹คํžˆ ์•Œ์•„๋‘๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ํฌ์ŠคํŒ…์€ Map Reduce์— ๋Œ€ํ•ด ์•Œ์•„๋ณผ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

 

 

Reference

wikidocs.net/22766

hadoop.apache.org/docs/r3.0.3/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html

yeomko.tistory.com/38

 

๋Œ“๊ธ€