跳到主要内容

环境变量

Introduced or updated: v1.2.956

Databend 允许您利用环境变量的灵活性,既可以指向自定义配置文件,也可以对单个配置进行精确调整。此功能不仅使您能够在不中断默认设置的情况下进行修改,而且在您需要快速调整、使用容器化环境或需要保护敏感数据时,也被证明特别有用。

备注
  • 并非所有配置都可以仅通过环境变量来管理。在某些情况下,调整可能需要在配置文件中进行修改,而不是依赖环境变量。

设置配置文件路径​

METASRV_CONFIG_FILE 和 CONFIG_FILE 是用于指定配置文件 databend-meta.toml 和 databend-query.toml 位置的环境变量。它们提供了一种自定义 Databend 中配置文件路径的方法。如果您想偏离默认设置并选择自定义配置文件位置,这些变量使您可以指定文件的确切路径。

示例
export METASRV_CONFIG_FILE='/etc/databend/databend-meta.toml'
export CONFIG_FILE='/etc/databend/databend-query.toml'

Meta 环境变量​

以下是可用环境变量的列表,每个变量都相应地映射到配置文件 databend-meta.toml 中的参数。有关每个参数的详细说明,请参阅 Meta 配置。

环境变量映射到
METASRV_LOG_DIRlog_dir
ADMIN_API_ADDRESSadmin_api_address
METASRV_GRPC_API_ADDRESSgrpc_api_address
METASRV_GRPC_API_ADVERTISE_HOSTgrpc_api_advertise_host
KVSRV_IDid
KVSRV_RAFT_DIRraft_dir
KVSRV_API_PORTraft_api_port
KVSRV_LISTEN_HOSTraft_listen_host
KVSRV_ADVERTISE_HOSTraft_advertise_host
KVSRV_SINGLEsingle

Query 环境变量​

可以使用环境变量配置配置文件 databend-query.toml 中 [query] 和 [storage] 部分下的参数。环境变量的名称是通过将单词 QUERY 或 STORAGE 与使用下划线分隔的相应参数名称组合而成的。

当存储服务的环境变量与 Databend 的环境变量匹配时,Databend 也会接受它们。这允许您使用最熟悉的环境变量命名约定,从而无需记住其他变量名称并简化配置过程。

为了用一个例子来说明,如果您想使用环境变量设置 S3 的访问密钥 ID,您可以灵活地使用 Databend 提供的 STORAGE_S3_ACCESS_KEY_ID 或通常与 AWS S3 关联的众所周知的 AWS_ACCESS_KEY_ID。

Alibaba Cloud OSS 凭据别名​

从 v1.2.956 开始,Query 服务将以下 Alibaba Cloud 别名加载到 OSS 配置:

Alibaba Cloud 变量Databend 变量配置字段
ALIBABA_CLOUD_ROLE_ARNSTORAGE_OSS_ROLE_ARNstorage.oss.role_arn
ALIBABA_CLOUD_ACCESS_KEY_IDSTORAGE_OSS_ACCESS_KEY_IDstorage.oss.access_key_id
ALIBABA_CLOUD_ACCESS_KEY_SECRETSTORAGE_OSS_ACCESS_KEY_SECRETstorage.oss.access_key_secret

仅当 STORAGE_OSS_ROLE_ARN 未设置或为空时,角色别名才生效。Access Key 别名必须成对使用:两个 Databend Access Key 变量都未设置或为空,且两个 Alibaba Cloud Access Key 变量都非空。缺少一项的别名对会被忽略。加载器不会将一个 Databend Access Key 变量与一个 Alibaba Cloud 别名组合。

配置优先级从低到高为:配置文件、环境变量、命令行参数。在环境变量层,非空 Databend 变量优先于这些别名。被接受的别名可以覆盖配置文件中的值。其他配置字段保持不变。

对于 RRSA 部署,Pod 可以提供角色和 OIDC 输入,而不配置静态 Access Key:

export ALIBABA_CLOUD_ROLE_ARN='<role-arn>'
export ALIBABA_CLOUD_OIDC_PROVIDER_ARN='<oidc-provider-arn>'
export ALIBABA_CLOUD_OIDC_TOKEN_FILE='/var/run/secrets/ack.alibabacloud.com/rrsa-tokens/token'

请使用部署实际挂载的令牌文件路径。Query 服务必须能够读取该文件。如果访问失败,请检查身份联合、角色权限、Bucket Policy 和 STS 可用性。

不要将 Access Key 和投射令牌写入共享日志。请使用部署的 Secret 注入,不要将真实凭据保存到 Shell 历史记录。

欢迎体验 Databend Cloud

基于 Rust + 对象存储构建的新一代多模态数仓,一个平台即可进行 BI、向量、全文检索及地理空间分析。

支持标准 SQL,自动弹性伸缩,助您快速构建现代化数据平台。

注册即领 ¥200 代金券。

注册体验