Created date: Tue, 12 Jul 2022 21:57 KST
하둡은 어떤 버전들이 있고 각 버전별 차이는 무엇인가?
안녕하세요. shcDE입니다. 오늘부터 드디어 하둡에 대한 포스팅을 하려고 합니다.
이번 포스팅에서 다룰 내용은 하둡의 버전별 특징에 대한 간단한 설명입니다. 설명을 드리기 전에, 우선은 하둡에 대한 간단한 소개부터 하고자 합니다. 설명은 위키피디아 백과사전의 ‘아파치 하둡’ 문서를 바탕으로 하겠습니다.
하둡은 대량의 자료를 처리할 수 있는 큰 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 프리웨어 자바 소프트웨어 프레임워크입니다. 이러한 하둡은 원래 너치의 분산 처리를 지원하기 위해 개발된 것으로, 아파치 루씬의 하부 프로젝트였습니다.
이러한 하둡의 가장 큰 특징은 분산처리 시스템인 구글 파일 시스템을 대체할 수 있는 하둡 분산 파일 시스템(HDFS: Hadoop Distributed File System)과 맵리듀스를 구현한 것이라고 볼 수 있습니다.
추가로, 하둡 프레임워크에 포함되는 모듈로는 하둡 커먼(Hadoop Common), 하둡 분산 파일 시스템(HDFS), 하둡 YARN, 하둡 맵리듀스가 있습니다. 이러한 모듈 중에서 저는 앞으로 HDFS, 맵리듀스, YARN에 대해 포스팅을 할 예정입니다.
이제 하둡의 버전별 특징에 대해 설명드리겠습니다. 하둡은 크게 3가지의 버전으로 분류됩니다. 각 버전의 특징은 다음과 같습니다.
- 하둡 v1
- ● 분산저장, 병렬처리 프레임워크를 정의
- ○ 분산저장(HDFS)
- ○ 네임노드, 데이터 노드가 처리
- ○ 병렬처리(MapReduce)
- ○ 잡트래커, 태스트 트래커가 처리
- ○ 분산저장(HDFS)
- ● 클러스터당 최대 4000개의 노드를 등록
- ● 작업 처리를 슬롯(slot) 단위로 처리
- ○ 맵, 리듀스 슬롯을 구분하여 처리
- 하둡 v2
- ● YARN을 도입하여 병렬 처리 구조를 변경
- ○ 클러스터 관리
- ○ 리소스 매니저, 노드 매니저
- ○ 작업 관리
- ○ 애플리케이션 마스터, 컨테이너
- ○ 클러스터 관리
- ● MR 외 Spark, Hive, Pig 등 다른 분산 처리 모델도 수행 가능
- ● 클러스터당 1만개 이상의 노드 등록 가능
- ● 작업 처리를 컨테이너(container) 단위로 처리
- 하둡 v3
- ● 이레이져 코딩 도입
- ○ 기존의 블록 복제(Replication)를 대체하는 방식으로 HDFS 사용량 감소
- ● YARN 타임라인 서비스 v2 도입
- ○ 기존 타임라인 서비스보다 많은 정보를 확인 가능
- ● 스크립트 재작성및 이해하기 쉬운 형태로 수정
- ○ 오래된 스크립트를 재작성하여 버그 수정
- ● JAVA8 지원
- ● 네이티브 코드 최적화
- ● 고가용성을 위해 2개 이상의 네임노드 지원
- ○ 하나만 추가할 수 있었던 스탠바이 노드를 여러개 지원가능 스탠바이 노드
- ● Ozone 추가
- ○ 오브젝트 저장소 추가
이러한 세 가지 버전 중에서 저는 최신 버전인 하둡 v3을 선택했습니다. 그 이유는 최대한 새로운 기술을 습득하고 싶은 마음이 컸기 때문입니다. 사실 하둡 설치 방법에 대해 포스팅도 생각했었지만, 하둡에 대한 소개로 대체한 이유는 각 OS 환경별로 설치 방법이 다르기 때문에 제 방법이 방문자님께는 도움이 안 될 수도 있다는 생각이 들었습니다.
그래서 저는 제가 하둡을 설치한 기기명 및 하둡 버전명만 명시해두겠습니다.
- 설치한 기기 : MacBook Pro 2018 레티나
- 하둡 버전 : hadoop-3.3.3.tar.gz
하둡에 대한 소개는 여기까지 할 예정입니다. 다음 포스팅부터는 하둡의 기능에 대해 다루고자 합니다.
오늘도 긴 글 읽어주시느라 고생하셨습니다. 좋은 밤 되세요.
감사합니다.
[레퍼런스]
- 아파치 하둡(위키피디아 백과사전) : https://ko.wikipedia.org/wiki/%EC%95%84%ED%8C%8C%EC%B9%98_%ED%95%98%EB%91%A1
- 하둡 버전별 특징(빅데이터 - 하둡, 하이브로 시작하기) : https://wikidocs.net/26170