配置部署 MetaService
MetaService 是 Doris 存算分离集群元数据管理组件,不对外暴漏,仅用于内部使用。MetaService 属于无状态服务,通常采用主备模式部署。下面介绍如何在 DorisDisaggregatedCluster
资源中配置 MetaService。
配置 FoundationDB 访问
根据 FoundationDB 部署环境不同,配置方式也有所差异:
-
使用 ConfigMap 配置 FoundationDB 访问
如果 FoundationDB 集群通过fdb-kubernetes-operator
部署,可直接使用 该 Operator 生成的包含 FoundationDB 访问地址的 ConfigMap,示例如下:spec:
metaService:
fdb:
configMapNamespaceName:
name: ${foundationdbConfigMapName}
namespace: ${namespace}其中,
${foundationdbConfigMapName}
为 ConfigMap 的名称。${namespace}
为 FoundationDB 部署的命名空间。查找fdb-kubernetes-operator
生成的 ConfigMap,请参考部署 FoundationDB 章节的 获取包含 FoundationDB 访问信息的 ConfigMap。 -
直接配置 FoundationDB 访问地址
如果 FoundationDB 是直接在物理机上部署,则可以直接在 MetaService 配置中指定访问地址:spec:
metaService:
fdb:
address: ${fdbEndpoint}${fdbEndpoint}
为可访问 FoundationDB 的访问地址信息,物理机部署情况下查找请参考存算分离章节 MetaService 部署获取fdb_cluster
介绍。
配置镜像
在部署样例中,MetaService 配置的镜像可能不是最新版本镜像。自定义镜像时,请按照如下格式配置:
spec:
metaService:
image: ${msImage}
其中 ${msImage}
为想要部署的 MetaService 的镜像。请使用 Doris 官方提供的 MetaService 镜像(镜像 tag 中包含 ms 前缀)。
配置资源
可以通过 Kubernetes 的资源限制为 MetaService 分配合适的计算资源,例如限制为 4 核 CPU 和 4Gi 内存,配置如下:
spec:
metaService:
requests:
cpu: 4
memory: 4Gi
limits:
cpu: 4
memory: 4Gi
将配置更新到需要部署的 DorisDisaggregatedCluster 资源中。
定制化启动配置
Doris-Operator 通过 ConfigMap 挂载组件的启动配置文件。Doris-Operator 自动填充 MetaService 启动配置中有关 FoundationDB 的相关配置,因此定制化启动配置时无需填写这些信息。
- 创建自定义 ConfigMap
自定义一个包含启动配置信息的 ConfigMap。启动配置文件的名称必须为doris_cloud.conf
,示例如下:apiVersion: v1
data:
doris_cloud.conf: |
# // meta_service
brpc_listen_port = 5000
brpc_num_threads = -1
brpc_idle_timeout_sec = 30
http_token = greedisgood9999
# // doris txn config
label_keep_max_second = 259200
expired_txn_scan_key_nums = 1000
# // logging
log_dir = ./log/
# info warn error
log_level = info
log_size_mb = 1024
log_filenum_quota = 10
log_immediate_flush = false
# log_verbose_modules = *
# //max stage num
max_num_stages = 40
kind: ConfigMap
metadata:
name: doris-metaservice
namespace: default - 挂载自定义启动配置
在DorisDisaggregatedCluster
资源中,通过metaService.configMaps
挂载上述 ConfigMap,示例如下:spec:
metaService:
configMaps:
- name: ${msConfigMapName}
mountPath: /etc/doris${msConfigMapName}
为包含 MetaService 启动配置的 ConfigMap 名称。更新到需要部署的 DorisDisaggregatedCluster 资源。包含启动配置的 ConfigMap 的挂载点必须为/etc/doris
,即mountPath
为/etc/doris
。
在 Kubernetes 部署中,定制化 MetaService 启动配置时请不要填写 fdb_cluster
配置,Doris Operator 会自动处理相关信息。
配置服务探测超时
Doris Operator 为存算分离集群服务提供两种超时参数配置:存活探测超时和启动超时。
存活探测超时配置
存活探测(LivenessProbe)用于监控服务运行状态,当探测失败超过设定阈值时,服务将被强制重启。默认超时时间为 180 秒,若需要配置为 30 秒,可按如下设置
spec:
metaService:
liveTimeout: 30
启动超时配置
启动超时用于应对服务启动时间过长的情况,当服务启动时间超过设定阈值时,服务将被强制重启。默认启动超时时间为 300 秒,若需要配置为 120 秒,可按如下设置:
spec:
metaService:
startTimeout: 120