API 개요
Hadoop Eco API는 코드 기반의 프로그래밍 방식으로 자원들을 관리하기 위한 인터페이스입니다.
Hadoop Eco에서 제공하는 REST API를 통해 카카오클라우드 콘솔 이외의 다양한 방법으로 클러스터 생성 및 조회 등을 처리할 수 있습니다.
API 공통
- API 요청에 대한 응답은
JSON형태로 제공합니다. - API 사용을 위해서는 액세스 키 정보(액세스 키 ID와 보안 액세스 키)가 필요합니다.
- 작업 클러스터 API의 경우, Hadoop Eco 클러스터의 Open API Key를 발급받아야 합니다.
API 사용 준비
Hadoop Eco에서 제공하는 API를 호출하기 위해서는 IAM 액세스 키를 발급받아야 합니다.
Hadoop ECO API 구분
Hadoop Eco Open API
Hadoop Eco Open API는 신규 클러스터 생성, 클러스터 조회, 클러스터 삭제 및 증설 등의 일반적인 클러스터의 생성 및 관리를 수행합니다. Hadoop Eco Open API 사용 시, Open API Key의 발급은 필요하지 않습니다.
작업 클러스터 API
일반적으로 Hadoop Eco에서는 클러스터가 특정 작업을 완료하면 상태가 Terminated로 변경되며, 이 상태에서는 클러스터를 더 이상 사용할 수 없습니다. 하지만 작업 클러스터 API를 사용하면 기존에 생성되어 Terminated 상태인 클러스터에서 작업 스케줄링을 반복해서 실행할 수 있습니다.
작업 클러스터 API는 클러스터의 재사용성을 높이고, 필요할 때마다 새로운 클러스터를 생성하지 않고도 기존 클러스터에서 반복적으로 작업을 수행하여 효율적으로 클러스터를 관리할 수 있도록 지원합니다.
💡 Open API Key 발급 조건
콘솔에서 Open API Key 발급 시, 다음 조건을 모두 충족해야 합니다.
- 클러스터 유형이
Core Hadoop인 경우 - 클러스터 생성 시, 작업 스케줄링 활성화 옵션을
Hive또는Spark로 설정한 경우 - Hadoop Eco 클러스터의 상태가
Terminated(User Command)또는Terminated(User)인 경우
Hadoop Eco 클러스터의 Open API Key 발급 시 유의 사항
- 클러스터를 생성하는 과정 중 '3단계: 상세 설정 - 서비스 연동 설정'에서 외부 메타 스토어를 연동하여 생성한 클러스터를 Open API로 사용할 경우, 반드시 외부 메타 스토어와 설정을 그대로 유지해야 합니다.
- 외부 메타 스토어가 삭제되거나 정보가 변경되는 경우, 클러스터가 제대로 동작하지 않을 수 있습니다.
- API Key를 삭제하지 않은 상태에서 보안 그룹을 삭제한 경우, API Key를 재발급받으면 보안 그룹이 다시 생성되어 Open API 클러스터를 사용하실 수 있습니다.
자세한 Open API Key 발급 방법은 Open API Key를 참고하시기 바랍니다.
API Model
Hadoop Eco의 API Model은 다음과 같습니다.
Model - 클러스터
| Data | Type | 설명 |
|---|---|---|
| Credential-ID | String | 액세스 키 ID |
| Credential-Secret | String | 보안 액세스 키 |
| Hadoop-Eco-Api-Key | String | 콘솔에서 발급받은 Open API key |
| request-id | String | 요청 ID |
| workerCnt | Integer | Hadoop Eco 워커 노드 개수 - 개수: 1 ~ 1,000개 |
| workerVolumeSize | Integer | Hadoop Eco 워커 노드 블록 스토리지 크기 - 크기: 50 ~ 5120GB |
| configHdfsReplication | Integer | Hadoop Eco HDFS 복제 개수 - 개수: 1 ~ 500개 |
| configHdfsBlockSize | Integer | Hadoop Eco HDFS 블록 크기 - 크기: 1 ~ 1024MB |
| userTaskDeployMode | String | Hadoop Eco Spark Job Deploy 모드 - 모드: client, cluster |
| userTaskExecOpts | String | Hadoop Eco Spark 또는 Hive Job 설정 파라미터 |
| userTaskExecParams | String | Hadoop Eco Spark Application 파라미터 |