DoYeon's Blog
[빅데이터 프로젝트]2. 하둡 생태계 본문
프로젝트를 시작하기에 앞서, 빅데이터를 다루는 프레임워크에 대해 알아할 필요가 있다.
아파치 하둡 (Apache Hadoop)은 빅데이터를 더 수월하게 다루기위해 만들어진 오픈 소스 프레임워크이다. 하둡 생태계 (Hadoop Ecosystem)은 빅데이터를 처리/해결 하기위해 만들어진 프로젝트들의 집합체라고 보면 된다. 아래 그림과 같이 하둡의 여러 프로젝트들은 서로 다른 목적을 위해 사용된다.
1. Zookeeper
주키퍼(Zookeeper)는 서비스 분산과 서버 간 상황을 관리하여 분산 서버의 통합 환경을 관리하는 서비스를 제공한다. 주키퍼를 사용하여 Hadoop component 의 자원들을 관리한다
2. HDFS(Hadoop Distribute File System)
HDFS는 하둡생태계의 큰 구성원으로 structured & unstructured 빅 데이터를 여러 노드에 저장하는 솔루션을 제공한다. 노드의 종류는 Name node 와 Data Node 로 나뉘어지는데, Name node는 메타데이터를 저장하고 Data node는 실제 데이터를 분산 저장한다.
3.YARN(Yet Another Resource Negotiator)
코딩, 개발 프로젝트를 하게되면 YARN을 접하거나 듣게 된 기억이 있다. YARN 은 리소스 관리 솔루션으로 여러 클러스터들의 리소스를 관리, 스케쥴링하는데 사용된다. YARN 은 Resource Manager, Nodes Manager, 그리고 Application Manager로 구성되어있다.
YARN vs Zookeeper
YARN 과 Zookeeper 둘 다 분산 시스템을 관리하는 솔루션이지만, 이 툴들은 하둡 생태계에서 다른 목적으로 사용된다. YARN 은 스케줄링 자원, *CPU, 메모리, 디스크, 네트워크,을 이용해 여러 application들을 클러스터에 실행을 시키도록 한다.반면에 주키퍼는 서버 간 상황을 모니터링해주는 툴이다. 하나의 리더(서버)가 다운이 되면 주키퍼는 곧바로 스탠바이된 노드를 리더로 설정해 준다. 이는 앱의 가용성을 높게 유지해준다.
Zookeeper의 다른 기능은 코디네이터라고 보면 이해하기 쉽다. 만약 1000개의 하둡 노드를 실행하고 있는 중에 configuration을 모두 바꿔야 한다면, 일일이 다 바꿀 필요없이 모든 노드에 change/update가 쉽게 될 수 있도록 관리해준다.
4. MapReduce
하둡의 MapReduce는 Map 과 Reduce 기법으로 데이터를 처리하는 하둡 기반의 배치 작업 플랫폼이다.
- Map() - Sorting and Filtering of data and thus organising them as a group. Map generates Key-Value pair
- Reduce() - Summarisation by aggregating the mapped data. Takes in the output generated by Map() input and combines those tuples into smaller tuples.
5. Apache Spark
아파치 스파크는 인메모리 상에서의 데이터 처리 플랫폼으로 배치처리, 실시간 스트리밍, SQL 그리고 Graph 처리를 할 수 있다.
Hadoop vs Apache Spark
하둡과 스파크 둘 다 대규모 데이터를 처리할 수 있는 분산 시스템이다. 하지만 두 오픈소스 플랫폼들은 다른 방식으로 빅 데이터를 처리한다.
Apache Hadoop 은 여러 서버에서 데이터를 처리할 수 있도록하여 주로 배치단위로 데이터를 처리한다.하둡은 데이터 처리 단계에서 외부에 데이터를 입력하기에 지연시간이 늘어난다. 즉 실시간 데이터 처리 작업에는 유용하게 쓰이지는 못한다.
Apache Spark는 이 한계를 극복한 처리 시스템이다. 스파크는 외부 스토리에서 데이터 처리를 하지 않고, 그 전에 RAM에 복사를 한다. 그리고 그 후 외부 스토리지에 다시 쓴다. RAM에서 데이터 처리는 외부 스토리지에서 작업을 수행하는 것 보다 더 빠르다고 한다.
아래, AWS 에서 요약한 하둡과 스파크의 차이를 참고하길 바란다.
하둡에는 이 5가지 플랫폼 뿐만 아니라 여러가지 플랫폼들이 더 존재한다 예를 들어, 데이터 처리에는 Pig, Mahout. 데이터 웨어하우스 연동은 Hive, 검색엔진 Solr, 데이터 저장 HBase, Cassandra 등이 있는데 이 책에서는 앞서 설명한 5가지 플랫폼 위주로 진행 될 것 같다. 추후에 더 설명이 필요하면 공부 할 것이다.
'Tech' 카테고리의 다른 글
[빅데이터 프로젝트] 1. 계획 (1) | 2023.12.11 |
---|