본문으로 건너뛰기
최종 수정: 에

CREATE-STORAGE-VAULT

설명​

이 명령은 스토리지 볼트를 생성하는 데 사용됩니다. 이 문서에서는 Doris에서 자체 관리형 스토리지 볼트를 생성하는 구문을 설명합니다.

구문​

CREATE STORAGE VAULT [IF NOT EXISTS] <vault_name> [ <properties> ]

필수 매개변수​

매개변수설명
<vault_name>스토리지 볼트의 이름입니다. 새로 생성할 스토리지 볼트의 고유 식별자입니다.

선택적 매개변수​

매개변수설명
[IF NOT EXISTS]지정한 스토리지 볼트가 이미 존재하면 생성 작업을 실행하지 않고 오류도 발생시키지 않습니다. 이를 통해 동일한 스토리지 볼트가 중복으로 생성되는 것을 방지합니다.
<properties>스토리지 볼트의 특정 속성을 설정하거나 업데이트하는 데 사용하는 키-값 쌍의 집합입니다. 각 속성은 키()와 값()으로 구성되며, 등호(=)로 구분합니다. 여러 키-값 쌍은 쉼표(,)로 구분합니다.
노트

type 속성에는 "S3" 또는 "hdfs" 두 가지 값만 지정할 수 있으며, 대소문자를 구분하지 않습니다. Amazon S3, Alibaba Cloud OSS, Tencent Cloud COS, Huawei Cloud OBS, Baidu Cloud BOS, MinIO, Azure Blob Storage, Google Cloud Storage 등 모든 객체 스토리지 백엔드는 "type" = "S3"를 사용합니다. Doris가 S3 호환 API를 통해 이러한 백엔드에 접근하기 때문입니다. 실제 사용할 클라우드는 별도의 provider 속성(COS, OSS, S3, OBS, BOS, AZURE 또는 GCP)으로 선택합니다. s3.access_key / s3.secret_key 속성 이름도 같은 명명 규칙을 따르며 AWS S3에만 해당하는 것은 아닙니다.

S3 볼트​

매개변수필수 여부설명
s3.endpoint필수객체 스토리지의 엔드포인트입니다. Azure Blob Storage의 엔드포인트는 blob.core.windows.net으로 고정되어 있습니다.
s3.region필수스토리지 버킷의 리전입니다. (GCP 또는 AZURE를 사용하는 경우에는 필수가 아닙니다.)
s3.root.path필수데이터를 저장할 경로입니다.
s3.bucket필수객체 스토리지 계정의 버킷입니다. (Azure에서는 StorageAccount에 해당합니다.)
s3.access_key필수객체 스토리지 계정의 액세스 키입니다. (Azure에서는 AccountName에 해당합니다.)
s3.secret_key필수객체 스토리지 계정의 비밀 키입니다. (Azure에서는 AccountKey에 해당합니다.)
provider필수객체 스토리지 서비스를 제공하는 클라우드 공급자입니다. 지원되는 값은 COS,OSS,S3,OBS,BOS,AZURE,GCP입니다.
use_path_style선택path-style URL(프라이빗 배포 환경용) 또는 virtual-hosted-style URL(퍼블릭 클라우드 환경에 권장)을 사용합니다. 기본값은 true(path-style)입니다.

참고:

  1. s3.endpoint에 http:// 또는 https:// 접두사를 지정하지 않으면 기본적으로 http를 사용합니다. 접두사를 명시적으로 지정하면 해당 접두사가 적용됩니다.

  2. Doris는 S3 볼트에서 AWS Assume Role도 지원합니다(현재는 AWS S3만 지원). 자세한 내용은 AWS 통합을 참조하세요.

HDFS 볼트​

매개변수필수 여부설명
fs.defaultFS필수사용할 기본 파일 시스템을 지정하는 Hadoop 설정 속성입니다.
path_prefix선택데이터를 저장할 접두 경로입니다. 지정하지 않으면 사용자 계정의 기본 경로를 사용합니다.
hadoop.username선택파일 시스템에 접근할 사용자를 지정하는 Hadoop 설정 속성입니다. 지정하지 않으면 Hadoop 프로세스를 시작한 사용자를 사용합니다.
hadoop.security.authentication선택Hadoop의 인증 방식입니다. Kerberos를 사용하려면 kerberos를 지정하면 됩니다.
hadoop.kerberos.principal선택Kerberos principal의 경로입니다.
hadoop.kerberos.keytab선택Kerberos keytab의 경로입니다.

예제​

1. HDFS 스토리지 볼트 생성.​

CREATE STORAGE VAULT IF NOT EXISTS hdfs_vault_demo
PROPERTIES (
"type" = "hdfs", -- required
"fs.defaultFS" = "hdfs://127.0.0.1:8020", -- required
"path_prefix" = "big/data", -- optional, generally fill in according to the business name
"hadoop.username" = "user" -- optional
"hadoop.security.authentication" = "kerberos" -- optional
"hadoop.kerberos.principal" = "hadoop/127.0.0.1@XXX" -- optional
"hadoop.kerberos.keytab" = "/etc/emr.keytab" -- optional
);

2. OSS 스토리지 볼트 생성​

CREATE STORAGE VAULT IF NOT EXISTS oss_demo_vault
PROPERTIES (
"type" = "S3", -- required
"s3.endpoint" = "oss-cn-beijing.aliyuncs.com", -- required
"s3.access_key" = "xxxxxx", -- required, Your OSS access key
"s3.secret_key" = "xxxxxx", -- required, Your OSS secret key
"s3.region" = "cn-beijing", -- required
"s3.root.path" = "oss_demo_vault_prefix", -- required
"s3.bucket" = "xxxxxx", -- required, Your OSS bucket name
"provider" = "OSS", -- required
"use_path_style" = "false" -- optional, OSS recommended to set false
);

3. COS 스토리지 볼트 생성​

CREATE STORAGE VAULT IF NOT EXISTS cos_demo_vault
PROPERTIES (
"type" = "S3",
"s3.endpoint" = "cos.ap-guangzhou.myqcloud.com", -- required
"s3.access_key" = "xxxxxx", -- required, Your COS access key
"s3.secret_key" = "xxxxxx", -- required, Your COS secret key
"s3.region" = "ap-guangzhou", -- required
"s3.root.path" = "cos_demo_vault_prefix", -- required
"s3.bucket" = "xxxxxx", -- required, Your COS bucket name
"provider" = "COS", -- required
"use_path_style" = "false" -- optional, COS recommended to set false
);

4. OBS 스토리지 볼트 생성​

CREATE STORAGE VAULT IF NOT EXISTS obs_demo_vault
PROPERTIES (
"type" = "S3", -- required
"s3.endpoint" = "obs.cn-north-4.myhuaweicloud.com", -- required
"s3.access_key" = "xxxxxx", -- required, Your OBS access key
"s3.secret_key" = "xxxxxx", -- required, Your OBS secret key
"s3.region" = "cn-north-4", -- required
"s3.root.path" = "obs_demo_vault_prefix", -- required
"s3.bucket" = "xxxxxx", -- required, Your OBS bucket name
"provider" = "OBS", -- required
"use_path_style" = "false" -- optional, OBS recommended to set false
);

5. BOS 스토리지 볼트 생성​

CREATE STORAGE VAULT IF NOT EXISTS bos_demo_vault
PROPERTIES (
"type" = "S3", -- required
"s3.endpoint" = "s3.bj.bcebos.com", -- required
"s3.access_key" = "xxxxxx", -- required, Your BOS access key
"s3.secret_key" = "xxxxxx", -- required, Your BOS secret key
"s3.region" = "bj", -- required
"s3.root.path" = "bos_demo_vault_prefix", -- required
"s3.bucket" = "xxxxxx", -- required, Your BOS bucket name
"provider" = "BOS", -- required
"use_path_style" = "false" -- optional, BOS recommended to set false
);

6. S3 스토리지 볼트 생성​

CREATE STORAGE VAULT IF NOT EXISTS s3_demo_vault
PROPERTIES (
"type" = "S3", -- required
"s3.endpoint" = "https://s3.us-east-1.amazonaws.com", -- required
"s3.access_key" = "xxxxxx", -- required, Your S3 access key
"s3.secret_key" = "xxxxxx", -- required, Your S3 secret key
"s3.region" = "us-east-1", -- required
"s3.root.path" = "s3_demo_vault_prefix", -- required
"s3.bucket" = "xxxxxx", -- required, Your S3 bucket name
"provider" = "S3", -- required
"use_path_style" = "false" -- optional, S3 recommended to set false
);

참고:

Doris는 S3 볼트에서 AWS Assume Role도 지원합니다(현재는 AWS S3만 지원). 자세한 내용은 AWS 통합을 참조하세요.

7. MinIO 스토리지 볼트 생성​

 CREATE STORAGE VAULT IF NOT EXISTS minio_demo_vault
PROPERTIES (
"type" = "S3", -- required
"s3.endpoint" = "127.0.0.1:9000", -- required
"s3.access_key" = "xxxxxx", -- required, Your minio access key
"s3.secret_key" = "xxxxxx", -- required, Your minio secret key
"s3.region" = "us-east-1", -- required
"s3.root.path" = "minio_demo_vault_prefix", -- required
"s3.bucket" = "xxxxxx", -- required, Your minio bucket name
"provider" = "S3", -- required
"use_path_style" = "true" -- required, minio recommended to set false
);

8. AZURE 스토리지 볼트 생성​

CREATE STORAGE VAULT IF NOT EXISTS azure_demo_vault
PROPERTIES (
"type" = "S3", -- required
"s3.endpoint" = "blob.core.windows.net", -- required
"s3.access_key" = "xxxxxx", -- required, Your Azure AccountName
"s3.secret_key" = "xxxxxx", -- required, Your Azure AccountKey
"s3.region" = "us-east-1", -- required
"s3.root.path" = "azure_demo_vault_prefix", -- required
"s3.bucket" = "xxxxxx", -- required, Your Azure StorageAccount
"provider" = "AZURE" -- required
);

9. GCP 스토리지 볼트 생성​

CREATE STORAGE VAULT IF NOT EXISTS gcp_demo_vault
PROPERTIES (
"type" = "S3", -- required
"s3.endpoint" = "storage.googleapis.com", -- required
"s3.access_key" = "xxxxxx", -- required
"s3.secret_key" = "xxxxxx", -- required
"s3.region" = "us-east-1", -- required
"s3.root.path" = "gcp_demo_vault_prefix", -- required
"s3.bucket" = "xxxxxx", -- required
"provider" = "GCP" -- required
);

참고

s3.access_key는 GCP HMAC 키의 Access ID에 해당합니다

s3.secret_key는 GCP HMAC 키의 Secret에 해당합니다

키워드​

CREATE, STORAGE VAULT