Hadoop Eco
카카오 i 클라우드(Kakao i Cloud)의 Hadoop Eco는 Hadoop, Hive, HBase, Spark, Trino와 같은 오픈 소스 프레임워크를 이용하여 분산 처리 작업을 실행하기 위한 클라우드 플랫폼 서비스입니다. 카카오 i 클라우드에서 제공하는 Virtual Machine을 이용하여 Hadoop, HBase, Trino 프로비저닝 서비스를 제공합니다.
표 Hadoop Eco 주요 개념
주요 개념 | 설명 |
---|---|
클러스터 | Virtual Machine을 이용하여 프로비저닝된 Core Hadoop, HBase, Trino 클러스터 |
인스턴스 | 카카오 i 클라우드에서 제공하는 Virtual Machine으로 다양한 타입 제공 |
마스터 노드 인스턴스 | Hadoop의 리소스 매니저, 네임 노드가 실행되는 서버 |
워커 노드 인스턴스 | Hadoop의 노드 매니저, 데이터 노드가 실행되는 서버 |
볼륨 | 블록 스토리지로 구성된 영구 볼륨은 인스턴스 당 하나의 볼륨을 할당하여 사용 |
키페어 | 인스턴스 접근 보안을 위한 공개키 등록 및 관리 |
Hadoop Eco 서비스 주요 개념
Hadoop Eco 서비스의 주요 개념은 다음과 같습니다.
클러스터
클러스터는 Virtual Machine을 이용하여 프로비저닝된 노드들의 집합입니다.
클러스터 타입
Hadoop Eco는 Core Hadoop, HBase, Trino 타입을 제공합니다.
표 클러스터 타입
타입 | 설명 |
---|---|
Core Hadoop | Hadoop, Hive, Spark, Tez가 설치됨 - HDFS에 데이터를 저장하고 Hive, Spark를 이용하여 데이터를 분석 |
HBase | Hadoop, HBase가 설치됨 - HDFS에 데이터를 저장하고 HBase를 이용하여 NoSQL 서비스를 제공 |
Trino | Hadoop, Trino, Hive, Tez가 설치됨 - HDFS에 데이터를 저장하고 Trino, Hive를 이용하여 데이터를 분석 |
클러스터 가용성 타입
클러스터의 운영 안정성을 위해 가용성 타입으로 표준(Single)과 고가용성(HA) 타입을 제공합니다.
표 클러스터 가용성 타입
가용성 타입 | 설명 |
---|---|
표준(Single) | 1개의 마스터 노드와 여러 개의 워커 노드로 구성 - 마스터 노드가 하나이기 때문에 장애가 발생할 경우 HDFS, YARN이 동작하지 않을 수 있음 |
고가용성(HA: High Availability) | 3개의 마스터 노드와 여러 개의 워커 노드로 구성 - HDFS, YARN이 HA로 구성되어 장애가 발생할 시 자동으로 마스터를 복구 |
클러스터 버전
Hadoop Eco 버전에 따라 설치되는 컴포넌트의 버전이 결정됩니다. HDE 클러스터는 데이터 분석을 위한 Core Hadoop 타입과 HDFS 기반의 NoSQL 서비스를 제공하기 위한 HBase 타입, HDE 1.1.0 버전부터는 Trino 타입도 제공합니다. HDE 2.0.0 버전에서는 Hadoop 3.x, HBase 2.x, Hive 3.x 버전을 지원합니다.
이미지 클러스터 버전
클러스터 버전에 따른 타입별 설치 컴포넌트 - Core Haddop
이미지 Core Hadoop
클러스터 버전에 따른 타입별 설치 컴포넌트 - HBase
이미지 HBase
클러스터 버전에 따른 타입별 설치 컴포넌트 - Trino
이미지 Trino
클러스터 생명주기
Hadoop Eco 클러스터는 다양한 상태와 생명주기를 가지며, 운영 상태와 작업 상태를 확인하고 관리 기능을 수행할 수 있습니다. 최초 생성을 요청한 후 설치/운영/삭제 등의 상태를 생명주기로 표현합니다. 사용자가 클러스터를 작동시키는 것에 따라 클러스터와 인스턴스의 상태는 다를 수 있습니다.
이미지 클러스터의 생명주기
표 클러스터와 노드 상태
상태 | 설명 | 클러스터 상태값 제외 여부 |
---|---|---|
Initializing | 사용자 요청 메타 정보가 저장되고, VM 생성을 요청한 상태 | - |
Creating | VM 생성 중 | - |
Installing | 생성된 VM에 Hadoop Eco 컴포넌트를 설치 중 | - |
Starting | Hadoop Eco 컴포넌트가 실행 중 | - |
Running | 모든 컴포넌트가 실행되어 클러스터가 운영 중인 상태 | - |
Running(Scale out initializing) | 클러스터 증설 요청으로 인한 VM 생성을 요청한 상태 | - |
Running(Scale out creating) | VM 생성 중 | - |
Running(Scale out installing) | 생성된 VM에 Hadoop Eco 컴포넌트를 설치하는 중 | - |
Running(Scale out starting) | 컴포넌트 실행 중 | - |
Running(Scale out running) | 기존 클러스터와 증설된 VM의 동작을 확인 중 | - |
Running(Scale in Initializing) | 클러스터 축소 요청을 받고 대상 VM을 삭제할 수 있는지 확인 중 | - |
Running(Scale in ready) | 축소 대상 VM의 컴포넌트를 종료하는 중 | - |
Running(Scale in starting) | 축소 대상 VM의 컴포넌트 종료가 정상적으로 이루어졌는지 검사 중 | - |
Running(Scale in terminating) | VM 삭제 중 | - |
Failed to scale out | 증설 대상 VM 생성에 실패한 상태 | - |
Failed to scale out vm | 증설 대상 VM의 컴포넌트 설치, 실행에 실패한 상태 | - |
Failed to scale in | 축소 대상 VM 삭제 중 실패한 상태 | - |
Failed to scale in vm | 축소 대상 VM의 컴포넌트 정상 종료에 실패한 상태 | - |
Terminating | 클러스터를 종료하는 중 | - |
Terminated (User) | 사용자가 클러스터를 종료한 상태 | - |
Terminated (UserCommand) | 작업 스케줄링이 정상적으로 종료되어 클러스터를 종료한 상태 | - |
Terminated(Scale in) | 클러스터를 축소하고 VM이 정상적으로 종료된 상태 | 제외 |
Terminated (Error) | 에러가 발생하여 클러스터를 종료한 상태 | - |
Terminated (Failed to create vm) | VM 생성 중에 에러가 발생한 상태 | - |
Terminated (Failed to destroy vm) | VM 종료 중에 에러가 발생한 상태 | - |
Terminated(Check time over) | 컴포넌트 실행 중에 클러스터 생성 시간이 초과된 상태 | - |
Terminated(Install error) | 클러스터 생성 중 컴포넌트 설치, 실행에 실패하여 종료된 상태 | - |
Terminated(Failed to scale out) | 클러스터 증설 실패로 인해 VM이 종료된 상태 | 제외 |
Terminated(Failed to scale in) | 축소 대상 VM 종료에 실패 후 VM이 강제 종료된 상태 | 제외 |
Pending | Open API 활성화 후, Hadoop Eco 생성 요청이 가능한 상태 | - |
Processing | Open API 활성화 후, Hadoop Eco 생성 및 job scheduling 진행 중 | - |
인스턴스와 클러스터 상태
인스턴스는 클러스터를 구성하는 카카오 i 클라우드의 Virtual Machine으로, 인스턴스와 클러스터의 상태는 다를 수 있습니다.
인스턴스와 클러스터의 상태가 다른 경우는 다음과 같습니다.
- 마스터 노드의 인스턴스가 Active 상태가 아닌 경우, 클러스터 가용성 타입이 Single이면 클러스터가 정상적으로 동작하지 않습니다.
- 가용성 타입이 HA인 경우, 마스터 1번/2번 노드 인스턴스 중 하나의 노드 인스턴스가 Active 상태면 정상적으로 운영될 수 있습니다.
컴포넌트
Hadoop Eco 클러스터에서 실행되는 컴포넌트 목록은 다음과 같습니다.
Core Hadoop
표 Core Hadoop 클러스터 컴포넌트 목록 - 표준(Single)
위치 | 컴포넌트 | 주소 |
---|---|---|
마스터 1번 | HDFS 네임 노드 | HDE-2.0.0 미만 : http://{HadoopMST-cluster-1}:50070 HDE-2.0.0 이상 : http://{HadoopMST-cluster-1}:9870 |
YARN 리소스 매니저 | http://{HadoopMST-cluster-1}:8088 | |
TimelineServer | http://{HadoopMST-cluster-1}:8188 | |
JobHistoryServer | http://{HadoopMST-cluster-1}:19888 | |
SparkHistoryServer | http://{HadoopMST-cluster-1}:18082 | |
Tez UI | http://{HadoopMST-cluster-1}:9999 | |
HiveServer2 (HS2) | http://{HadoopMST-cluster-1}:10002 | |
Hue | http://{HadoopMST-cluster-1}:8888 | |
Zeppelin | http://{HadoopMST-cluster-1}:8180 | |
Oozie | http://{HadoopMST-cluster-1}:11000 |
표 Core Hadoop 클러스터 컴포넌트 목록 - HA
위치 | 컴포넌트 | 주소 |
---|---|---|
마스터 1번 | HDFS 네임 노드 | HDE-2.0.0 미만 : http://{HadoopMST-cluster-1}:50070 HDE-2.0.0 이상 : http://{HadoopMST-cluster-1}:9870 |
YARN 리소스 매니저 | http://{HadoopMST-cluster-1}:8088 | |
HiveServer2 (HS2) | http://{HadoopMST-cluster-1}:10002 | |
마스터 2번 | HDFS 네임 노드 | HDE-2.0.0 미만 : http://{HadoopMST-cluster-2}:50070 HDE-2.0.0 이상 : http://{HadoopMST-cluster-1}:9870 |
YARN 리소스 매니저 | http://{HadoopMST-cluster-2}:8088 | |
HiveServer2 (HS2) | http://{HadoopMST-cluster-2}:10002 | |
마스터 3번 | TimelineServer | http://{HadoopMST-cluster-3}:8188 |
JobHistoryServer | http://{HadoopMST-cluster-3}:19888 | |
SparkHistoryServer | http://{HadoopMST-cluster-3}:18082 | |
Tez UI | http://{HadoopMST-cluster-3}:9999 | |
HiveServer2 (HS2) | http://{HadoopMST-cluster-3}:10002 | |
Hue | http://{HadoopMST-cluster-3}:8888 | |
Zeppelin | http://{HadoopMST-cluster-3}:8180 | |
Oozie | http://{HadoopMST-cluster-3}:8180 |
HBase
표 HBase 클러스터 컴포넌트 - 표준(Single)
위치 | 컴포넌트 | 주소 |
---|---|---|
마스터 1번 | HDFS 네임 노드 | HDE-2.0.0 미만 : http://{HadoopMST-cluster-1}:50070 HDE-2.0.0 이상 : http://{HadoopMST-cluster-1}:9870 |
YARN 리소스 매니저 | http://{HadoopMST-cluster-1}:8088 | |
HMaster | http://{HadoopMST-cluster-1}:16010 | |
TimelineServer | http://{HadoopMST-cluster-1}:8188 | |
JobHistoryServer | http://{HadoopMST-cluster-1}:19888 | |
Hue | http://{HadoopMST-cluster-1}:8888 |
표 HBase 클러스터 컴포넌트 목록 - 고가용성(HA)
위치 | 컴포넌트 | 주소 |
---|---|---|
마스터 1번 | HDFS 네임 노드 | HDE-2.0.0 미만 : http://{HadoopMST-cluster-1}:50070 HDE-2.0.0 이상 : http://{HadoopMST-cluster-1}:9870 |
YARN 리소스 매니저 | http://{HadoopMST-cluster-1}:8088 | |
HMaster | http://{HadoopMST-cluster-1}: 16010 | |
마스터 2번 | HDFS 네임 노드 | HDE-2.0.0 미만 : http://{HadoopMST-cluster-2}:50070 HDE-2.0.0 이상 : http://{HadoopMST-cluster-1}:9870 |
YARN 리소스 매니저 | http://{HadoopMST-cluster-2}:8088 | |
HMaster | http://{HadoopMST-cluster-2}: 16010 | |
마스터 3번 | HMaster | http://{HadoopMST-cluster-3}: 16010 |
TimelineServer | http://{HadoopMST-cluster-3}:8188 | |
JobHistoryServer | http://{HadoopMST-cluster-3}:19888 | |
Hue | http://{HadoopMST-cluster-3}:8888 |
Trino
표 Trino 클러스터 컴포넌트 목록 - 표준(Single)
위치 | 컴포넌트 | 주소 |
---|---|---|
마스터 1번 | HDFS 네임 노드 | HDE-2.0.0 미만 : http://{HadoopMST-cluster-1}:50070 HDE-2.0.0 이상 : http://{HadoopMST-cluster-1}:9870 |
YARN 리소스 매니저 | http://{HadoopMST-cluster-1}:8088 | |
Trino Coordinator | http://{HadoopMST-cluster-1}:8780 | |
TimelineServer | http://{HadoopMST-cluster-1}:8188 | |
JobHistoryServer | http://{HadoopMST-cluster-1}:19888 | |
SparkHistoryServer | http://{HadoopMST-cluster-1}:18082 | |
Tez UI | http://{HadoopMST-cluster-1}:9999 | |
HiveServer2 (HS2) | http://{HadoopMST-cluster-1}:10002 | |
Hue | http://{HadoopMST-cluster-1}:8888 | |
Zeppelin | http://{HadoopMST-cluster-1}:8180 | |
Oozie | http://{HadoopMST-cluster-1}:11000 |
표 Trino 클러스터 컴포넌트 목록 - 고가용성(HA)
위치 | 컴포넌트 | 주소 |
---|---|---|
마스터 1번 | HDFS 네임 노드 | HDE-2.0.0 미만 : http://{HadoopMST-cluster-1}:50070 HDE-2.0.0 이상 : http://{HadoopMST-cluster-1}:9870 |
YARN 리소스 매니저 | http://{HadoopMST-cluster-1}:8088 | |
HiveServer2 (HS2) | http://{HadoopMST-cluster-1}:10002 | |
마스터 2번 | HDFS 네임 노드 | HDE-2.0.0 미만 : http://{HadoopMST-cluster-2}:50070 HDE-2.0.0 이상 : http://{HadoopMST-cluster-1}:9870 |
YARN 리소스 매니저 | http://{HadoopMST-cluster-2}:8088 | |
HiveServer2 (HS2) | http://{HadoopMST-cluster-2}:10002 | |
마스터 3번 | Trino Coordinator | http://{HadoopMST-cluster-1}: 8780 |
TimelineServer | http://{HadoopMST-cluster-3}:8188 | |
JobHistoryServer | http://{HadoopMST-cluster-3}:19888 | |
Tez UI | http://{HadoopMST-cluster-3}:9999 | |
HiveServer2 (HS2) | http://{HadoopMST-cluster-3}:10002 | |
Hue | http://{HadoopMST-cluster-3}:8888 | |
Zeppelin | http://{HadoopMST-cluster-3}:8180 |
인스턴스
인스턴스는 VM 목록에서 확인할 수 있으며, VM 동작과 동일하게 처리할 수 있습니다.
안내
안정적인 운영을 위해 마스터 노드 인스턴스는 16GB 이상, 워커 노드 인스턴스는 32GB 이상을 권장합니다.
인스턴스 타입
클러스터의 안정적인 운영을 위해 인스턴스 타입을 선택할 수 있습니다.
Hadoop Eco 클러스터에서 지원하는 인스턴스 타입은 다음과 같습니다.
표 인스턴스 타입
그룹 | 인스턴스 타입 | 기본 vCPU(개) | Memory(GB) |
---|---|---|---|
Standard | A1-4-STD | 4 | 16 |
A1-8-STD | 8 | 32 | |
A1-16-STD | 16 | 64 | |
CPU Optimized | A1-8-CO | 8 | 16 |
A1-16-CO | 16 | 32 | |
Memory Optimized | A1-4-MO | 4 | 32 |
A1-8-MO | 8 | 64 | |
A1-16-MO | 16 | 128 |
볼륨
블록은 인스턴스를 만들 때 이미지가 구성되는 기본 스토리지로, HDFS의 용량입니다. HDFS의 안정적인 운영을 위해서 적절한 사이즈를 선택해야 합니다.
안내
볼륨에 대한 자세한 설명은 볼륨/스냅샷 관리하기 문서를 참고하시기 바랍니다.
네트워크와 보안
Hadoop Eco에서 생성하는 모든 인스턴스는 VPC 환경에서 제공합니다. 클러스터를 구성하기 위해서 시큐리티 그룹을 생성해야 하고, 컴포넌트 구성을 위한 인바운드를 설정해야 클러스터를 생성할 수 있습니다.
안내
네트워크와 보안 설정에 대한 자세한 설명은 VPC > Overview를 참고하시기 바랍니다.
사용 가이드
안내
카카오 i 클라우드의 Object Storage 서비스에 대한 자세한 사용 가이드는 Hadoop Eco > How-to Guides를 참고하시기 바랍니다.
표 Hadoop Eco 사용 가이드
문서 | 설명 |
---|---|
클러스터 생성하기 | Hadoop Eco의 클러스터를 생성하는 방법을 설명합니다. |
클러스터 관리하기 | Hadoop Eco의 클러스터를 관리하는 방법을 설명합니다. |
컴포넌트 사용하기 | 클러스터에 설치된 컴포넌트를 사용하는 방법을 설명합니다. |
컴포넌트 실행하기 | 클러스터에 설치된 컴포넌트를 실행하는 방법을 설명합니다. |
클러스터 재실행하기 | 클러스터를 재실행하는 방법을 설명합니다. |
CLI 환경에서 Hadoop Eco 정보 확인하기 | CLI 환경에서 Hadoop Eco 정보를 확인하는 방법을 설명합니다. |
Oozie 스케줄링 설정하기 | Oozie에서 Hive, Spark, Shell 액션을 이용하여 스케줄링하는 방법을 설명합니다. |
YARN 스케줄링 설정하기 | YARN의 기본 스케줄러인 커패시티 스케줄러(Capacity Scheduler), 페어 스케줄러(Fair Scheduler)의 설정하는 방법을 설명합니다. |
Hue 비밀번호 재설정하기 | Hue 관리자 비밀번호 재설정하는 방법을 설명합니다. |
클라이언트 서버 연결하기 | 사용자의 서버에서 Hadoop Eco 클러스터에 연결하는 방법을 설명합니다. |
공인 IP로 컴포넌트 연결하기 | 공인 IP를 컴포넌트에 연결하는 방법을 설명합니다. |
인스턴스 접속하기 | 공인 IP를 컴포넌트에 연결하는 방법을 설명합니다. |
Object Storage 연동하기 | Object Storage와 연동하는 방법을 설명합니다. |