일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Github
- 맛집
- RStudio
- 김호연작가
- 독후감
- 책리뷰
- Linux
- 스플라인
- 클러스터형인덱스
- 제주도
- SQL
- 혼자공부하는SQL
- 오블완
- PRML
- 스토어드 프로시저
- 영국여행
- 보조인덱스
- 제주2주살이
- 에이바우트
- 티스토리챌린지
- 혼공S
- PRIMARY KEY
- Jupyter notebook
- R
- digital marketing
- 유럽여행
- 디지털마케팅
- 제주도여행
- GenAI
- 런던
- Today
- Total
Soy Library
[Hadoop] 하둡과 HDFS 본문
하둡(Hadoop, High-Availability Distributed Object-Oriented Platform)이란?
일반 상용 서버로 구성된 클러스터에서 사용할 수 있는 분산 파일시스템과 대량의 자료를 처리하기 위한 분산 처리 시스템을 제공하는 아파치 소프트웨어 재단의 오픈 소스 프레임워크로, 자바언어로 개발되었다. 하나의 성능 좋은 컴퓨터를 이용하여 데이터를 처리하는 대신, 적당한 성능의 범용 컴퓨터 여러 대를 클러스터화하고, 큰 크기의 데이터를 클러스터에서 병렬로 동시에 처리하여 처리 속도를 높이는 것을 목적으로 한다.
하둡v1
2011년에 정식 발표되어, 분산저장과 병렬처리를 목적으로 한다.
분산저장은 네임노드와 데이터노드가 처리한다. 네임노드는 블록정보를 가지고 있는 메타데이터를 관리하고, 데이터 노트를 관리하는 역할을 한다. 데이터노드에서는 데이터를 블록단위로 나누어서 저장한다. 블록단위 데이터는 복제하여 데이터 유실에 대비한다.
병렬처리는 잡트래커(Job Tracker)와 태스크트래커(Task Tracker)가 처리한다. 잡트래커가 전체 작업의 진행상황을 관리하고, 자원 관리도 처리하며, 태스크트래커는 실제 작업을 처리한다. 이때 병렬처리의 작업단위에는 Map 슬롯과 Reduce 슬롯의 개수가 정해져 있다.
하둡v2
2012년에 발표되어, 잡트래커의 병목현상을 제거하기 위하여 YARN 아키텍처를 도입하였다. YARN은 잡트래커의 기능을 분리하여, 자원관리는 리소스 매니저와 노드 매니저가 담당하고, 애플리케이션의 라이프 사이클관리는 애플리케이션 마스터가 담당, 그리고 작업의 처리는 컨테이너가 담당한다. YARN을 이용하여 병렬처리의 구조를 클러스터 관리(Resource manager, Node manager)와 작업관리(Application mster, Container)로 변경하였다.
이후에 하둡v3도 나옴.
하둡은 아래의 주요 모듈로 구성됨.
- Hadoop Common: 하둡의 다른 모듈을 지원하기 위한 공통 컴포넌트 모듈.
- Hadoop HDFS: 분산저장을 처리하기 위한 모듈, 여러 개의 서버를 하나의 서버처럼 묶어서 데이터를 저장.
- Hadoop YARN: 병렬처리를 위한 클러스터 자원관리 및 스케줄링 담당.
- Hadoop Mapreduce: 분산되어 저장된 데이터를 병렬 처리할 수 있게 해주는 분산처리 모듈.
- Hadoop Ozone: 하둡을 위한 오브젝트 장소 (hadoop v3)
HDFS란?
하둡 분산 파일 시스템 기능을 담당하는 하둡의 주요 모듈. 저가의 신뢰할 수 없는 컴퓨터에서 대용량의 자료를 저장하는 스토리지이다.
HDFS 특징
- 블록 단위 저장: 데이터를 블록 단위로 저장한다.
- Replication에 의한 신뢰성: 장애 복구를 위해서 각 블록을 복제하여 저장한다. 블록의 기본 복제 단위는 3이다.
- 읽기 중심: 데이터를 한 번 쓰면 여러 번 읽는 것을 목적으로 하여, 파일의 수정은 지원하지 않음.
- 단일마스터(네임노드)에 의한 처리, 메타데이터: 간단한 중앙 관리 시스템.
- 파일에 대한 streaming 접근: 순차적인 처리 특성.
- 일반적인 상용 컴퓨터를 지원: 고가의 스토리지가 불필요.
HDFS 구조
하나의 네임노드와 여러 개의 데이터노드로 구성되어 있다. 네임노드는 메타데이터를 가지고 있고, 데이터를 블록 단위로 나누어 데이터노드에 저장한다. client는 네임노드를 이용해 데이터를 읽고 쓸 수 있다.
단일 네임노드: 메타데이터 관리와 데이터노드 관리
※ 메타데이터: 파일 이름, 파일 크기, 생성시간, 접근권한 등의 정보로 구성되어있음. 각 데이터노드에서 전달하는 메타데이터를 받아서 전체 노드의 메타데이터 정보와 파일 정보를 묶어서 관리한다.
많은 데이터노드: 파일을 저장하는 역할. 파일은 블록 단위로 저장된다. 데이터 노드는 주기적으로 네임노드에 하트비트와 블록리포트를 전달한다. 하트비트는 데이터노드의 동작여부를 판단하는데 이용된다. 또한 네임노드의 지시에 따라 블록 생성, 삭제, 복제를 수행한다.
Reference
1-하둡이란?
하둡은 2006년 야후의 더그 커팅이 '넛치'라는 검색엔진을 개발하는 과정에서 대용량의 비정형 데이터를 기존의 RDB 기술로는 처리가 힘들다는 것을 깨닫고, 새로운 기술을 ...
wikidocs.net
https://m.blog.naver.com/acornedu/222069158703
[빅데이터] 하둡(Hadoop) 이란?
빅데이터 분석이 쉬워진 것은 하둡(Hadoop)이 나오면서부터입니다. 하둡은 대용량의 데이터를 적은 비용으...
blog.naver.com
'Study > Hadoop' 카테고리의 다른 글
[Hadoop] 빅데이터란? (0) | 2022.03.13 |
---|