混合部署拓扑
以上 TiDB 集群拓扑文件中,详细的配置项说明见通过 TiUP 部署 TiDB 集群的拓扑文件配置。
混合部署的关键参数介绍
本节介绍单机多实例的关键参数,主要用于 TiDB、TiKV 的单机多实例部署场景。你需要按照提供的计算公式,将结果填写至上一步的配置模板中。
TiKV 进行配置优化
readpool 线程池自适应,配置 参数可以使
readpool.storage
和readpool.coprocessor
共用统一线程池,同时要分别设置自适应开关。开启
readpool.storage
和readpool.coprocessor
:-
readpool.unified.max-thread-count = cores * 0.8 / TiKV 数量
如果多个 TiKV 实例部署在同一块物理磁盘上,需要在 tikv 配置中添加 capacity 参数:
label 调度配置
由于采用单机多实例部署 TiKV,为了避免物理机宕机导致 Region Group 默认 3 副本的 2 副本丢失,导致集群不可用的问题,可以通过 label 来实现 PD 智能调度,保证同台机器的多 TiKV 实例不会出现 Region Group 只有 2 副本的情况。
TiKV 配置
config:
server.labels:
PD 配置
PD 需要配置 labels 类型来识别并调度 Region:
绑核
在实例参数模块配置对应的
numa_node
参数,并添加对应的物理 CPU 的核数;numa 绑核使用前,确认已经安装 numactl 工具,以及物理机对应的物理机 CPU 的信息后,再进行参数配置;
numa_node
这个配置参数与numactl --membind
配置对应。
- 编辑配置文件模版时,注意修改必要参数、IP、端口及目录。
- 各个组件的 deploy_dir,默认会使用 global 中的
<deploy_dir>/<components_name>-<port>
。例如 tidb 端口指定 4001,则 deploy_dir 默认为 ‘/tidb-deploy/tidb-4001’。因此,在多实例场景下指定非默认端口时,无需再次指定目录。 - 无需手动创建配置文件中的
tidb
用户,TiUP cluster 组件会在部署主机上自动创建该用户。可以自定义用户,也可以和中控机的用户保持一致。