1. Hadoop(하둡)
- 고가용성 분산형 객체 지향적 플랫폼(High Availability Distributed Object Oriented Platform)
- 객체 지향적 작업을 병렬 분산하여 고가용성을 확보
- Apache Hadoop은 오픈소스, Java 기반 소프트웨어 플랫폼으로 빅데이터 애플리케이션용 데이터 처리와 스토리지를 관리
- 하둡 플랫폼은 컴퓨터 클러스터 내 여러 노드에 걸쳐 하둡 빅데이터와 분석 작업을 분배하며,
그 과정에서 작업을 병렬식으로 실행 가능한 작은 크기의 워크로드로 분해 - 구조적 및 비구조적 데이터를 처리할 수 있으며 단 한 대의 서버에서 시스템 수천 대 규모로 안정적으로 확장
2. 하둡 데이터베이스
- 하둡은 오픈소스 프레임워크로써, 실시간으로 엄청난 양의 데이터를 동시에 처리하는 것이 목적
- 사용자에게 다양한 데이터베이스 유형에 대한 처리 솔루션을 제공
- 대규모 병렬 컴퓨터 처리를 활용하여 단시간에 방대한 데이터를 처리
- Apache HBase와 같은 여러 데이터베이스는 수천 개의 상용 서버에 저장된 데이터 노드 클러스터에 흩어져 있음
- 데이터는 HDFS에 저장
- 데이터를 비구조적, 반구조적, 구조적 형식으로 저장 가능
- 관계형 데이터베이스로는 간주 X
3. 하둡의 영향
- 하둡은 빅데이터 분야에 중대한 발전으로 클라우드 데이터 레이크의 기초 토대로 인정받음
- 상용 데이터 웨어하우스 솔루션과 폐쇄형 데이터 형식에 실질적 대안
- 방대한 데이터를 저장, 처리할 능력을 신속히 확보
- 컴퓨팅 파워 증가
- 내결함성
- 데이터 관리 유연성
- DW에 비해 저렴한 비용
- 확장성
4. 하둡의 동작
- 사용자가 데이터와 프로그램을 HDFS에 제출
- 하둡 MapReduce가 입력/출력 데이터를 처리하고 변환
- YARN이 클러스터에 작업을 분산
- 하둡 프레임워크 자체는 Java를 기반으로 동작
- 하둡 프로그램은 Python, C++등 다양한 프로그래밍 언어로 작성 가능
5. 하둡 에코시스템
- 코어 모듈과 관련 하위 모듈을 아우르는 말
- 코어 하둡 모듈
- 하둡을 이루는 가장 기초적인 기본요소
- HDFS(Hadoop Distributed File System)
- Java 기반 시스템의 일종
- 클러스터 내 여러 노드에 걸쳐 대규모 데이터 세트를 내결함성 있는 방식으로 저장
- 내결함성: 시스템의 일부 구성 요소가 작동하지 않더라도 계속 작동할 수 있는 기능
- YARN(Yet Another Resource Negotiator)
- 클러스터 리소스 관리
- 작업 계획
- 작업 예약
- MapReduce
- 프로그래밍 모델 겸 대규모 데이터 세트의 병렬식 처리를 위해 사용되는 빅데이터 처리 엔진
- Apache Spark 등과 유사
- 프로그래밍 모델 겸 대규모 데이터 세트의 병렬식 처리를 위해 사용되는 빅데이터 처리 엔진
- Hadoop Common
- Hadoop 모듈을 지원하는 여러 라이브러리와 유틸리티를 총망라한 일련의 서비스 제공
6. HDFS
- 다양한 구조적 및 비구조적 데이터 노드에 걸쳐 대량의 데이터 세트를 관리
- 메타데이터를 로그 파일의 형태로 보관
- 구성 요소
- NameNode
- HDFS의 마스터 노드
- 파일 시스템의 네임스페이스를 관리하고, 파일들에 대한 클라이언트 접근을 제어
- 블록 번호와 위치 등과 같은 메타데이터 저장
- 파일과 디렉토리 형태로 구성되며 파일 이름 지정, 종료, 열기 등의 파일 시스템 명령을 실행
- DataNode
- HDFS의 슬레이브 노드
- 클라이언트가 요청한 읽기 및 쓰기 함수를 실행하면서 실제 데이터 또는 블록을 저장
- NameNode의 명령에 따라 복제본 생성, 삭제 및 복제를 담당
- 두 개의 파일 시스템으로 구성
- 하나는 데이터에 사용, 나머지 하나는 블록 메타데이터 저장
- NameNode
7. MapReduce
- Hadoop 에코시스템의 핵심 처리 구성 요소
- 방대한 양의 구조적, 비구조적 데이터를 처리할 때 애플리케이션을 쉽게 작성할 수 있는 프레임워크 제공
- 클라이언트의 작업 일정을 처리
- 단계 구성
- Map
- 데이터 세트가 key-value로 나뉘는 다른 데이터 세트로 변환
- Reduce
- InputFormat 클래스를 통해 출력을 변환
- Map
8. YARN
- 하둡의 리소스 관리 계층으로 하둡 프레임워크의 운영 체제 역할
- 작업 시퀀스 예약과 처리, 실행
- 사용자는 동일한 클러스터에서 필요한 만큼 여러 애플리케이션 실행 가능
9. 하둡의 장점
- 확장성
- 분산형 환경에서 작동하기 때문에 기존 시스템보다 확장성이 뛰어남
- 복원력
- 하둡 클러스터 내 노드에 저장된 데이터는 클러스터의 다른 노드에도 복제되어 오류 가능성에 대비
- 노드 한 개가 다운되더라도 클러스터 내에 데이터 백업본이 준비되어 있는 내결함성 보장
- 유연성
- 기존 관계형 데이터베이스 관리 시스템과는 달리 형식에 구애받지 않고 데이터 저장
10. 하둡 아키텍처의 문제
- 복잡함
- 하둠은 저수준 Java 기반 프레임워크이므로 사용자가 다루기에 복잡
- 상당한 수준의 전문 지식과 리소스가 있어야 설치, 유지보수가 가능
- 성능
- 하둡은 디스크로부터 읽기, 쓰기를 자주하여 연산 수행
- 메모리에서 처리하는 다른 프레임워크에 비해 시간이 오래 걸리고 비효율
'분산처리 > 빅데이터-하둡, 하이브로 시작하기' 카테고리의 다른 글
2-2) HDFS (0) | 2023.07.16 |
---|---|
2-1) 하둡이란? (0) | 2023.07.16 |
1-3) 빅데이터 에코시스템 (0) | 2023.07.16 |
1-2) 빅데이터 처리 단계 (0) | 2023.07.13 |
1-1) 빅데이터 (0) | 2023.07.13 |