Apache Hadoop, High-Availability Distributed Object-Oriented Platform 관련 내용
개요
- 빅데이터를 처리하는 컴퓨터(클러스터)에서 동작하는 자바 기반의 분산 응용프로그램 지원 프레임워크입니다.
- 오픈소스 프레임워크로, 분산 환경에서 빅데이터를 저장하고 처리할 수 있습니다.
- 방대한 규모의 빅데이터 외에도 규모를 축소하여 원하는 환경에 사용할 수 있습니다.
- 처리할 데이터가 늘어날 때 필요한 컴퓨팅 자원도 늘어나며, 컴퓨터의 능력에 따라 처리량이 영향을 받습니다.
- 분산처리를 통해 많은 데이터를 저장하고 처리합니다.
- 하둡이 적용된 시스템은 데이터처리 효율이 증가합니다.
- 분산처리를 제어하여 저렴한 비용으로 원하는 크기의 데이터 저장소를 확보할 수 있습니다.
주요 구성요소
- HDFS(Hadoop Distributed FileSystem): 네트워크에 연결된 기기에 데이터를 저장하는 분산형 파일 시스템입니다.
- MapReduce: 대용량 데이터 처리를 위한 분산 프로그래밍 모델로, 대규모 분산 컴퓨팅 환경에서 대량의 데이터를 병렬로 분석합니다.
- 기타 Ambari, Zookeeper, HBase, Pig, Hive, HCatalog가 있습니다.
- 쉽고 다양한 환경에서 활용성을 높이기 위하여 사용되는 소프트웨어들입니다.
- 하둡 에코시스템이라고도 합니다.
맵리듀스
- 구글에서 제작한 프레임워크입니다.
- 대용량 데이터 처리를 분산 병렬 컴퓨터 환경에서 처리하기 위하여 제작되었습니다.
- PB(1024TB) 이상의 대용량 데이터를 클러스터 환경에서 병렬 처리할 수 있습니다.
- 함수형 프로그램에서 Map과 Reduce라는 함수 기반으로 구성됩니다.
Zookeeper
- 대표적인 시스템 코디네이션 서비스 시스템입니다.
분산된 시스템 간 정보 공유, 클러스터 내 서버들의 상태 체크, 동기화 및 lock처리 등을 수행합니다.
- 중복 서비스를 통해 고가용성을 제공합니다.
- 아파치 하둡의 하위 프로젝트로 시작하였지만 독립적인 상위 프로젝트입니다.
- 마스터가 응답하지 않을 때 클라이언트가 다른 마스터에게 요청합니다.
- 노드들은 네임스페이스 안에 데이터를 저장합니다.
- 클라이언트들은 노드에서 읽거나 쓰는 작업을 수행합니다.
HBase
- 비관계형 분산 데이터베이스입니다.
- 아파치에서 구글의 Big Table을 참고하여 Java로 제작되었습니다.
- 하둡의 HDFS 위에서 동작합니다.
- 분산된 데이터 저장을 위한 무정지 기능을 제공합니다.
- HBase의 테이블들은 하둡에서 동작하는 맵리듀스 작업을 위한 입출력을 제공합니다.
- 기존의 SQL DB를 직접적으로 대체하지는 않지만 데이터를 많이 사용하는 웹사이트 등에 사용됩니다.
Hive
- 하둡에 저장된 데이터를 쉽게 처리할 수 있는 데이터 웨어하우스 패키지입니다.
- 데이터 요약, 질의 및 분석기능을 제공합니다.
- HDFS이나 아파치 HBase와 같은 데이터 저장 시스템에 저장되어 있는 대용량 데이터 집합들을 분석합니다.
- HiveQL이라는 언어를 제공하며, 맵리듀스의 모든 기능을 지원합니다.
- 빠른 쿼리를 위하여 인덱스 기능을 제공합니다.
- 내장된 아파치 Derby 데이터베이스 안에 메타데이터를 저장합니다.
- MySQL과 같은 다른 DB를 사용할 수도 있습니다.
참고자료
댓글 없음:
댓글 쓰기