IT 삽질기

Hadoop이란 본문

BigData/Hadoop

Hadoop이란

화이팅빌런 2019. 3. 13. 00:22

Hadoop이란

기존의 방식으로는 늘어나는 대용량의 비정형 데이터를 처리하기 힘듬

이러한 데이터를 처리하기 위해 만들어진 자바 기반의 오픈 소스 프레임워크로 분산 환경에서 빅데이터를 저장하고 처리하는 기능을 가짐

하나의 성능이 좋은 컴퓨터(scale up)를 이용하여 데이터를 처리하는 대신 적당한 성능의 범용 컴퓨터들을 클러스터화(scale out) 하여 데이터를 처리할 수 있도록 함

 

Hadoop의 구성요소

- Common

- HDFS(Hadoop Distributed FileSystem)

- MapReduce

- YARN

 

Hadoop Common

- Hadoop의 다른 모듈을 지원하기 위한 공통 유틸리티 및 라이브러리 모음으로 Hadoop Core라고도 함

 

HDFS(Hadoop Distributed FileSystem)

- 하둡에서 사용하는 블록 구조의 파일 시스템

- 다수의 노드에 복제 데이터를 함께 저장해 데이터 유실을 방지

- 한번 저장한 데이터는 수정할 수 없고 읽기만 가능한데 이를 통해 데이터의 무결성을 유지

- 수정을 제외한 파일 이동, 삭제, 복사 등의 기능은 수행이 가능

- 특정 사이즈의 블록으로 나눠 분산된 서버에 저장 ( Hadoop v1 64MB, Hadoop v2, v2 128MB)

- Hadoop v1, v2에서는 블록을 3개로 복제하여 각각 다른 노드에 분산 저장해 데이터가 손상되어도 이를 복구할 수 있도록 하지만 1GB의 데이터를 저장하기 위해서는 3GB가 필요함 Hadoop v3에서는 이레이저 코딩 기술을 도입하여 1GB의 데이터를 저장할 때 1.5GB를 저장하게 되고 데이터 복구도 가능

 

MapReduce

- 대용량의 데이터 처리를 위한 분산 프로그래밍 모델

- 분산 컴퓨팅 환경에서 데이터를 병렬로 분석할 수 있음

- Map / Reduce라는 2개의 메소드로 구성

- Map는 분산된 데이터를 연관성 있는 데이터들로 분류하거나 연산을 하는 작업으로 (Key, Value) 쌍을 가짐

- Reduce는 Map에서 나온 결과 데이터에서 중복 데이터를 제거하고 원하는 데이터를 추출하는 작업

 

 

 

YARN

병렬처리를 위한 클러스터 자원관리 및 스케쥴링 관리자로 Hadoop v2에서 처음 등장 (Hadoop v1 에서는 JobTrack와 TaskTracker이 사용됨)

- ResourceManager

- 클러스터 전체의 리소스를 관리

- 클러스터의 리소스를 사용하려는 요청을 받아 리소스를 할당

- NodeManager

- 사용자가 요청한 프로그램을 실행하는 Container을 관리

- Container 장애 상황 또는 Container가 요청한 리소스보다 많이 사용하고 있는지 감시하여 많이 사용하는 경우 해당 Container을 kill 시킴

- Container은 Hadoop v2에서 처음 등장한 개념으로 작업 처리 단위

'BigData > Hadoop' 카테고리의 다른 글

Resource Manager Active Standby 전환 이슈  (0) 2021.03.09
Ambari HDFS component 재시작 관련 이슈 해결(hadoop_lzo)  (0) 2021.03.08
Hadoop 1.0과 Hadoop 2.0 (1 YARN)  (0) 2019.06.10
HDFS 데이터 읽기/쓰기  (0) 2019.06.09
HDFS란  (0) 2019.06.02
Comments