본문 바로가기

AI/빅데이터

3.하둡-1

하둡은 여러 개의 컴퓨터를 클러스터화하고, 큰 크기의 데이터를 클러스터에서 병렬로 동시에 처리하여 처리 속도를 높이는 것을 목적으로 하는 분산처리를 위한 오픈소스 프레임워크

하둡의 구성 요소
하둡은 4개의 주요 모듈로 구성됨.
●Hadoop Common
하둡의 다른 모듈을 지원하기 위한 공통 컴포넌트 모듈

●Hadoop HDFS
분산저장을 처리하기 위한 모듈 여러개의 서버를 하나의 서버처럼 묶어 데이터를 저장

●Hadoop YARN
병렬처리를 위한 클러스터 자원관리 및 스케줄링 담당

●Hadoop Mapreduce
분산되어 저장된 데이터를 병렬 처리할 수 있게 해주는 분산 처리 모듈

●Hadoop Ozone
하둡을 위한 오브젝트 저장소

장점
-오픈소스 라인서스에 대한 비용 부담이 적음
-시스템을 중단하지 않고 장비의 추가가 용이
-일부 장비에 장애가 발생하더라도 전체 시스템 사용성에 영향이 적음
-저렴한 구축 비용과 비용대비 빠른 데이터 처리

단점
-HDFS에 저장된 데이터 변경 불가
-실시간 데이터 분석 같이 신속하게 처리해야 하는 작업에는 부적합
-너무 많은 버전과 부실한 서포트
-설정의 어려움

 

3.1 HDFS(Hadoop Distributed File System)

하둡 분산 파일 시스템(HDFS)은 범용 하드웨어에서 동작하고, 장애 복구성을 가지는 분산 파일 시스템을 목표로 함.
HDFS는 실시간 처리보다는 배치처리를 위해 설계되어 있기때문에 빠른 응답시간이 필요한 작업에는 적합하지 않음

특징
-블록 단위 저장
HDFS는 데이터를 블록 단위로 나누어서 저장함
-블록 복제를 이용한 장애 복구
HDFS는 장애 복구를 위해서 각 블록을 복제하여 저장함. 블록의 기본 복제 단위는 3이다.
-읽기 중심
HDFS는 데이터를 한 번 쓰면 여러 번 읽는 것을 목적으로 함
-데이터 지역성
맵리듀스는 HDFS의 데이터 지역성을 이용해서 처리 속도를 증가시킴

 

구조
HDFS는 마스터 슬레이브 구조로 하나의 네임노드와 여러 개의 데이터노드로 구성됨. 네임노드는 메타데이터를 가지고 있고, 데이터는 블록 단위로 나누어 데이터노드에 저장됨.
네임노드를 이용하여 데이터를 읽고 쓸 수 있음

-네임노드
네임노드의 주 역할은 메타데이터 관리와 데이터노드의 관리

-데이터노드
데이터노드는 파일을 저장하는 역할을 함. 파일은 블록단위로 저장

-파일 읽기
1.네임노드에 파일이 보관된 블록 위치 요청
2.네임노드가 블록 위치 반환
3.각 데이터 노드에 파일 블록을 요청
  노드의 블록이 깨져 있으면 네임노드에 이를 통지하고 다른 블록 확인

-파일 쓰기
1.네임노드에 파일 정보를 전송하고, 파일의 블록을 써야할 노드 목록 요청
2.네임노드가 파일을 저장할 목록 반환
3.데이터 노드에 파일 쓰기 요청
  데이터 노드간 복제가 진행

'AI > 빅데이터' 카테고리의 다른 글

3.하둡-YARN  (0) 2021.02.18
3.하둡-맵리듀스  (0) 2021.02.18
3.하둡-2  (0) 2021.02.18
2.빅데이터 처리단계  (0) 2021.02.16
1.빅데이터  (0) 2021.02.16