메인메뉴로 이동 본문으로 이동

Community

ITWILL

lnb영역

커뮤니티

컨텐츠 내용

  1. 커뮤니티
  2. 이지채널

이지채널

이지채널 조회 페이지
하둡(Hadoop)을 알아보자!
마스터 / 2021.12.14

[모두를 위한 IT클래스]

이지업 클래스 입니다!~


다양한 It 지식을 알아보는 시간인 클래스 타임!

이지업 타임즈에서 준비한 오늘의 주제는 바로바로~

'하둡 (Hadoop)' 입니다!



" 하둡이 태어나기까지 "


기술의 발달로 인해 우리는 흔한 이미지, 영상, 음성 등의 데이터를

언제 어디서든 쉽게 접할 수 있게 되었어요~

데이터를 구분하는 영역에서는 이런 이미지나 영상 데이터는

비정형 데이터로 분류하고, 이전에는 쉽게 취급할 수 없는 데이터로 분류했었는데요!


하지만, 한없이 쏟아지는 데이터의 홍수 속에서

정형화 된 데이터만을 취급하는 것에는 분명한 한계가 있고,

나아가 비정형 데이터를 저장하여 가공할 수 있는 데이터베이스 구축에 대한

문제가 점차 대두되기 시작했죠.



이제 데이터는 우리의 일상에 자연스럽게 존재하고 있어요


비정형 데이터들은 기본적으로 용량이 크고, 대단위의 처리가 어렵다보니

단일 컴퓨터로는 그 한계가 명확했던 셈이었어요.

아무리 좋은 성능의 컴퓨터라 해도, 혼자만의 힘으로는 힘들다는 것을 깨닫게 되고,

이를 해결하기 위한 방법으로 성능이 뛰어나진 않아도

적당한 힘을 갖고 있는 컴퓨터에게 나눠주는 방법이 개발되기 시작했습니다.

그렇게 해서 오늘의 주인공인 하둡(Hadoop)이 탄생하게 된 것이죠!


하둡의 시작은 2006년에서 출발하는데요~

당시 야후에 기술 담당으로 재직중이던 [더그 커팅]이

대학원생이었던 마이크 카파렐라와 함께

오픈소스 검색엔진의 하부 프로젝트의 개념으로 개발되었는데,

하둡은 구글의 분산 파일 시스템(GFS) 논문을 기조로

이 구조에 대응하는 체계로 개발되었어요.


이후 아파치 재단으로 넘어가서 독자적인 개발이 시작되어,

현재는 아파치 소프트웨어 재단에서 공개중인 오픈 소스에요.

많은 이들이 오픈소스 프로젝트의 최대 성공작을 꼽아보라고 이야기 하면,

하둡을 언급할 만큼 최고로 손꼽히는 소스랍니다. 개발 언어는 java로 개발되었구요~!



" 하둡에도 여러 종류가 있어요 "



귀여운 노란색 코끼리가 마스코트로써 자리잡고 있는 하둡!

이러한 영향으로 인해, 이후에 추가되는 하둡 생태계의

모든 명칭은 동물과 관련된 이름으로 지어지게 되었다고 해요.

대표적으로는 스크립팅 언어인 피그 (PIG - 돼지),

SQL 쿼리를 가능하게 하는 하이브 (HIVE - 벌떼),

log를 수집하는 척와 (CHUKWA - 거북이),

이들 생태계를 조율하는 주키퍼 (ZOOKEEPER - 사육사)등이 있죠~


본격적으로 하둡의 기본 구조에 대해 조금 깊이 있게 들어가본다면,

다음과 같은 주요 모듈로 구성되어 있어요.


Hadoop HDFS

Hadoop Common

Hadoop YARN

Hadoop Map-reduce


여기서 일반적으로 흔히 하둡이라고 지칭되는 것이 Hadoop HDFS에요.

[Hadoop Distributed File System]이라 하며,

분산 처리 시스템이라는 표현에서 자주 접해보셨을 건데요!

HDFS는 우리가 생각하는 것 보다 훨씬 대용량의 데이터를 전송하고 빠르게 처리해주는데,

기본적으로 수십 테라 혹은 페타(10의 15제곱, 1000경)이상의 대용량 데이터를

분산된 서버에 저장하고 특정 크기의 블록 단위로 분리하여 분산된 서버에 저장하는데,

비유해보면, 우리나라에서 가장 높은 롯데월드타워(123층)를

1평 단위의 블록으로 잘게 쪼개서, 대한민국 전역에 뿌려놓고 있다가

필요에 따라 조립하고 가공하게끔 해놓는거라 볼 수 있겠네요~


저 높은 건물을 쪼갠 단위라... (어렵다;;)


HDFS의 역할이 이러하다면, 나머지 주요 모듈에 대해서도 살펴봐야겠죠?

먼저, Hadoop Common은 다른 모듈을 지원하기 위한

공통 컴포넌트 모듈 (같이 쓰는 부품 집합소) 이며,

Hadoop YARN은 병렬처리를 위해 효율적으로 자원을 관리하고 스케쥴링 하는 역할 (=교통정리)

Hadoop Map-reduce는 분산되어 저장된 데이터를 병렬 처리할 수 있게 해주는

분산 처리 모듈로써, 데이터를 각각 병렬적으로 연산 처리해주는 과정이 중요한 만큼

HDFS와 함께 하둡의 핵심적인 모듈이라 할 수 있어요!



" 하둡의 장,단점 "


이렇게 데이터 가공과 데이터베이스 구축에 효과적인 하둡 시스템!

하지만, 모든 기술에는 동전의 양면이 존재하듯,

하둡 시스템 또한 장/단점의 요소가 있어요.




이러한 요소들을 토대로 하둡을 접근하기 전에 생각해봐야 하는 것!

주요 모듈에 대한 깊이 있는 이해가 필요해요~

이는 실습을 통해 이해하는 과정을 다져가도 좋고,

이론적인 접근을 통한 학습에서 쌓아가는 것도 좋아요!


무엇보다 하둡 시스템에 대한 이론적 내용은 실제로

빅데이터분석기사 필기 시험 에서도 주요한 내용으로 등장 했고,

실무적으로도 많이 구축하려고 하는 편이기에,

DB에 관심있는 분들이라면 한번쯤 살펴보실 만하다고 생각합니다!~


누구나 쉽게 배우고 알차게 쓰는 IT클래스

하둡에 대해 더 궁금하시거나,

평소 관심있으셨던 분들이라면!?

이지업클래스에서 준비한 하둡 클래스도 한번 살펴봐주세요!~




누구나 따라할 수 있는 하둡 강의가 절찬리 공개중!! (두둥~)