CREATE STORAGE VOLUME
功能
为远程存储系统创建存储卷。该功能自 v3.1 起支持。
存储卷由远程存储系统的属性和认证信息组成。您可以在 StarRocks 存算分离集群中创建数据库和云原生表时引用存储卷。
注意
- 仅拥有 SYSTEM 级 CREATE STORAGE VOLUME 权限的用户可以执行该操作。
- 如果您需要基于 HDFS 创建存储卷,建议您不要随意修改 HADOOP_CONF 和 core-site.xml/hdfs-site.xml。如果以上文件中的参数与创建 Storage Volume 的参数存在差异,可能导致系统发生未知行为。
语法
CREATE STORAGE VOLUME [IF NOT EXISTS] <storage_volume_name>
TYPE = { S3 | HDFS | AZBLOB }
LOCATIONS = ('<remote_storage_path>')
[ COMMENT '<comment_string>' ]
PROPERTIES
("key" = "value",...)
参数说明
| 参数 | 说明 |
|---|---|
| storage_volume_name | 存储卷的名称。请注意,您无法创建名为 builtin_storage_volume 的存储卷,因为该名称被用于创建内置存储卷。有关 storage volume 的命名要求,参见系统限制。 |
| TYPE | 远程存储系统的类型。有效值:S3 、AZBLOB 和 HDFS。S3 代表AWS S3 或与 S3 协议兼容的存储系统。AZBLOB 代表 Azure Blob Storage(自 v3.1.1 起支持)。HDFS 代表 HDFS 集群。 |
| LOCATIONS | 远程存储系统的位置。格式如下:
|
| COMMENT | 存储卷的注释。 |
| PROPERTIES | "key" = "value" 形式的参数对,用以指定访问远程存储系统的属性和认证信息。有关详细信息,请参阅 PROPERTIES。 |
PROPERTIES
下表列出了存储卷所有可用的属性。这些属性的使用说明在列表后提供,从 认证信息 和 特性 两个方面,基于不同场景进行分类。
| 属性 | 描述 |
|---|---|
| enabled | 是否启用当前存储卷。默认值:false。已禁用的存储卷无法被引用。 |
| aws.s3.region | 需访问的 S3 存储空间的地区,如 us-west-2。 |
| aws.s3.endpoint | 访问 S3 存储空间的连接地址,如 https://s3.us-west-2.amazonaws.com。 |
| aws.s3.use_aws_sdk_default_behavior | 是否使用 AWS SDK 默认的认证凭证。有效值:true 和 false (默认)。 |
| aws.s3.use_instance_profile | 是否使用 Instance Profile 或 Assumed Role 作为安全凭证访问 S3。有效值:true 和 false (默认)。
|
| aws.s3.access_key | 访问 S3 存储空间的 Access Key。 |
| aws.s3.secret_key | 访问 S3 存储空间的 Secret Key。 |
| aws.s3.iam_role_arn | 有访问 S3 存储空间权限 IAM Role 的 ARN。 |
| aws.s3.external_id | 用于跨 AWS 账户访问 S3 存储空间的外部 ID。 |
| azure.blob.endpoint | Azure Blob Storage 的链接地址,如 https://test.blob.core.windows.net。 |
| azure.blob.shared_key | 访问 Azure Blob Storage 的共享密钥(Shared Key)。 |
| azure.blob.sas_token | 访问 Azure Blob Storage 的共享访问签名(SAS)。 |
| hadoop.security.authentication | 指定认证方式。有效值:simple(默认) 和 kerberos。simple 表示简单认证,即 Username。kerberos 表示 Kerberos 认证。 |
| username |