跳转到主要内容

Databend Meta 服务配置

databend-meta 服务器通过一个TOML格式的配置文件来进行配置:databend-meta --config-file databend-meta.toml

tip

你可以在 GitHub 上找到适用于一些典型部署场景的样本配置文件。 这些文件是为内部测试而创建的。 请不要擅自修改。 但如果你有类似的部署,最好在编辑你自己的配置文件时参考它们。

databend-meta.toml

#
# Logging
#
log_dir = "metadata/_logs1"
log_level = "DEBUG"
#
# Admin API endpoint
#
admin_api_address = "0.0.0.0:28101"
admin_tls_server_cert = "admin.cert"
admin_tls_server_key = "admin.key"
#
# GRPC client API endpoint
#
grpc_api_address = "0.0.0.0:9191"
grpc_tls_server_cert = "grpc.cert"
grpc_tls_server_key = "grpc.key"
#
# Internal raft communication
#
[raft_config]
id = 1
raft_dir = "metadata/datas1"
raft_api_port = 28103
raft_listen_host = "127.0.0.1"
raft_advertise_host = "localhost"
#
# Raft internal config
#
heartbeat_interval = 1000 # milli second
install_snapshot_timeout = 4000 # milli second
max_applied_log_to_keep = 1000 # N.O. raft logs
snapshot_logs_since_last = 1024 # N.O. raft logs
#
# Startup config
#
single = false
join = ["127.0.0.1:28103", "127.0.0.1:28203"]

1. 日志配置

  • log_id 是存储每小时滚动调试日志的路径。
  • log_level是日志级别。 默认情况下是 DEBUG

2. 管理配置

Admin API 提供集群信息,如节点列表、当前的 leader。

  • admin_api_address 是获取集群状态的 HTTP 服务。
  • admin_tls_server_cert 指定了为管理服务加载 TLS 证书的路径。
  • admin_tls_server_key 指定了为管理服务加载 TLS 键的路径。

3. GRPC config

GRPC API 用于应用程序读写 Meta 数据。

  • grpc_api_address 是用于读取和写入 Meta 数据的 HTTP 服务器地址。
  • grpc_tls_server_cert 指定了加载 TLS 证书的路径。
  • grpc_tls_server_key 指定了加载 TLS 键的路径。

4. Raft 配置

  • raft_config.id 是此节点的全局唯一ID,u64格式。

  • raft_config.raft_dir 是存储 Meta 数据的本地目录,包括 Raft 日志和状态机器等。

  • raft_config.raft_api_portraft_config.raft_listen_hostraft_config.raft_advertise_host 用来定义内部Raft通信的服务。 应用程序不应使用此端口。

    raft_listen_host 是内部 Raft 服务器监听的主机地址。 raft_advertise_host 是内部 Raft 客户端连接的主机地址。

5. Raft 内部配置

定义在 Raft 存储和状态机上的 Raft 行为。

  • heartbeat_interval 指定了心跳之间的时间间隔(单位:毫秒)。

  • install_snapshot_timeout 指定了安装快照的最大时间(单位:毫秒)。

  • max_applied_log_to_keep 指定了要保存的raft-log的最大数量。

  • snapshot_logs_sinf_last 指定了生成快照之间的raft-log数量。

6. 启动配置

  • single 告诉节点初始化一个单个节点集群。 如果已经完成集群的初始化,请忽略这个配置项。

  • join 指定了一个现有的集群的地址列表 (<raft_advertise_host>:<raft_api_port>),用于新节点的加入。

    join 仅用于未初始化的节点。 如果节点已初始化,请忽略这个配置项。