Sangwon
06/11/2026, 8:01 AMRocky
06/11/2026, 8:01 AMpassword 속성을 제외하고 생성하면 됩니다. 공식 문서에 따르면 이 두 파라미터는 선택 사항(Required: No)이며 기본값은 비어 있는 상태입니다.
1. 카탈로그 생성 구문 (인증 미사용 시)
아래와 같이 `user`와 password 속성을 생략하고 `type`과 hosts 정보만 포함하여 실행하세요.
sql
CREATE EXTERNAL CATALOG es_catalog
PROPERTIES (
"type" = "es",
"hosts" = "http://<elasticsearch_host>:9200"
);
2. 주요 설정 항목 (PROPERTIES)
* type: 필수 항목입니다. `es`로 설정합니다.
* hosts: 필수 항목입니다. Elasticsearch 클러스터의 연결 주소(HTTP/HTTPS 포함)를 입력합니다. 여러 대인 경우 쉼표(,)로 구분합니다.
* es.nodes.wan.only: (선택) 만약 StarRocks BE 노드가 Elasticsearch의 개별 데이터 노드 내부 IP에 직접 접근할 수 없는 환경(Docker, K8s 등)이라면 이 값을 `"true"`로 설정해야 합니다. 이 경우 `hosts`에 지정된 주소로만 통신합니다.
주의사항
* 버전 지원: Elasticsearch 카탈로그 기능은 StarRocks v3.1 버전부터 지원됩니다.
* HTTP Basic 인증 관련: 공식 문서의 'Usage notes'에는 "HTTP basic authentication이 활성화된 클러스터만 지원한다"는 문구가 포함되어 있으나, 설정 파라미터 자체는 선택 사항입니다. 따라서 인증이 없는 클러스터인 경우 위와 같이 생략하고 생성을 시도해 보시기 바랍니다.
* 데이터베이스: 카탈로그 생성 후에는 자동으로 `default_db`라는 이름의 데이터베이스가 생성되며, Elasticsearch의 인덱스들이 이 안에 테이블 형태로 매핑됩니다.
생성 후에는 다음 명령어로 인덱스들이 잘 보이는지 확인할 수 있습니다.
sql
SHOW TABLES FROM es_catalog.default_db;
References
• data_source/catalog/elasticsearch_catalog.md
• data_source/feature-support-data-lake-analytics.md
• data_source/catalog/unified_catalog.md
• sql-reference/sql-statements/Catalog/CREATE_EXTERNAL_CATALOG.md