1. 하둡이란?
- 하둡은 방대한 양의 데이터를 처리하는 플랫폼이다.
- 하둡의 핵심: HDFS(데이터 저장), 얀(프로세싱 프레임워크)
2. 하둡 특징
- 대용량 처리 능력: 파일 사이즈가 크고, 하둡 클러스터로 백만개 이상 저장 가능
- 장애 허용: 데이터를 다수의 서버에 복사한다.
- 높은 장애 대응력: 얀이나 HDFS는 디스크가 작동하지 않아도 계속 데이터 복사 업무를 수행한다.
- 데이터 스트리밍 액세서: 목차를 다는 것처럼 배치 프로세싱을 위한 스트리밍 액세스
- 간단한 데이터 일관성 모델: WORM(Wite Once Read Many access model)
3. 클러스터 컴퓨팅과 하둡 클러스터
- 클러스터 컴퓨팅
- 여러 대의 컴퓨터를 하나의 시스템으로 연결하여 하나의 큰 컴퓨터처럼 동작하도록 구성하는 기술
- 데이터 블록들을 여러 벌 만들어 각각 다른 랙에 있는 서버에 저장
- 데이터 블록은 여러 청크로 나뉘어 클러스트 전반에 복사
- 큰 작업을 작은 단위의 작업들로 나누는 것
- 작은 단위의 작업들이 실패했을 때 다른 노드에서 쉽게 다시 실행 가능
- 하둡 클러스터 구성요소
- 마스터 노드(서버): 하둡 FW 운영하는 데몬 실행
- 워커 노드: 스토리지(HDFS) & 프로세싱(YARN) 담당
- 엣지 서버: 하둡 클러스터에 접근하는 어플리케이션 실행하는 서버들
- 관계형 DB: 하이브, 스쿱 같은 FW 메타데이터 저장
- FW 위한 전용 서버: 카프카, 스톰 등
- HDFS과 맵리듀스의 조합
- 다수의 서버에 걸쳐 데이터를 복제하는 HDFS와 프로그램 모델을 이용해 데이터를 처리하는 맵리듀스를 조합해서 사용
- 큰 스케일의 컴퓨팅 가능 -> HW 오류로 인한 데이터 손실 방지
- 저렴한 환경 시스템
- 네트워크 부담 감소 -> IO를 같은 랙 또는 로컬디스크로 제한
- 맵리듀스 작업을 HDFS 데이턱 저장된 노드로 작업 스케줄을 조정
4. 하둡 생태계
6. 분산형 데이터 처리
- 맵리듀스
- 하둡의 데이터 프로세싱 엔진
- 프레임워크가 맵과 리듀스 기능을 제외한 모든 프로세싱 로직을 맡아 처리해주기 때문에 맵리듀스 프레임워크를 이용해 병렬 분산 애플리케이션을 작성할 때 로직이 단순해짐
- 아파치 스파크
- 고성능 분산 컴퓨팅 프레임워크로, api를 제공
- HDFS가 데이터 스토리지로 사용되고 얀이 컴퓨팅 프레임워크로 사용되는 하둡 클러스터에서 스파크 잡을 동작시킬 수 있다
- 인메모리 스토리지 모드오 효율적인 장애 복구 능력 보유
- 아파치 하이브
- HBase와 달리 데이터베이스가 아니며, 프로그램 작성 필요없이 HDFS 데이터를 사용할 수 있음
- HiveQL(선언식 언어) -> 결과로 맵리듀스 잡을 생성
- 아파치 피그
- 데이터 프로세싱을 윟나 고수준 프레임워크
- 스크립트 언어 피그 라틴(절차식 언어)
- 다양한 타입의 데이터 연산을 사용할 때 좋음
- 전형적인 ETL 프로세싱에 이상적인 툴
7. 데이터 통합
- 아파치 스쿱
- 아파치 플룸
- 아파치 카프카
- 병렬 로딩 후 실시간 데이터 소비를 클러스터로 분할해줌 -> 오프라인, 온라인 스트리밍 데이터 처리를 결합
- 메시징 시스템과 유사
- 이 외에도 엘라스틱서치/키바나 스택은 낮은 수준의 로그 분석에 유용하고 검색 분석에도 유용
8. 하둡 관리의 핵심 영역
- 클러스터 스토리지 관리
- hdfs에 저장
- 밸런서 툴을 사용해 데이터 균형을 유지
- 스냅샷을 만들어 두어 안전하게 보관
- 클러스터 리소스 할당
- 페어 스케줄러 : 장기간에 걸쳐 모든 애플리케이션이 리소스를 균등하게 배분받게 함
- 리소스 큐를 활용해 큐들 사이에서 리소스를 공유
- 하둡 태스크 스케줄링
- 스파크, 맵리듀스 등의 잡을 사용해 저장한 대용량 데이터를 처리
- 우지: 고확장성의 스케줄링 프레임워크로 상호의존적인 잡들을 실행하게 함
- 하둡 데이터 보안
- 일반적으로 커버로스를 사용
'⭐ Plogramming > BigData' 카테고리의 다른 글
분산 클러스터를 위한 하둡 시스템 (0) | 2023.07.16 |
---|---|
Apache Flink란? (0) | 2023.07.14 |
TimeWindow란 (1) | 2023.07.13 |
Chpater 3. 하둡 클러스터 생성 및 환경 설정 (0) | 2023.07.08 |
Chapter 2. 하둡 아키텍쳐 (0) | 2023.07.02 |