Databend Meta 服务配置
databend-meta
服务器通过一个TOML
格式的配置文件来进行配置:databend-meta --config-file databend-meta.toml
你可以在 GitHub 上找到适用于一些典型部署场景的样本配置文件。 这些文件是为内部测试而创建的。 请不要擅自修改。 但如果你有类似的部署,最好在编辑你自己的配置文件时参考它们。
#
# 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_port
,raft_config.raft_listen_host
和raft_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
仅用于未初始化的节点。 如果节点已初始化,请忽略这个配置项。