- 关于 TiDB Operator
- 快速上手
- 部署
- 自托管的 Kubernetes
- 公有云的 Kubernetes
- 在 ARM64 机器上部署 TiDB 集群
- 部署 TiDB HTAP 存储引擎 TiFlash
- 跨多个 Kubernetes 集群部署 TiDB 集群
- 部署 TiDB 异构集群
- 部署增量数据同步工具 TiCDC
- 部署 Binlog 收集工具
- 监控与告警
- 数据迁移
- 运维管理
- 安全
- 扩缩容
- 升级
- 升级 TiDB 集群
- 升级 TiDB Operator
- 备份与恢复
- 备份与恢复简介
- 备份与恢复 CR 介绍
- 远程存储访问授权
- 使用 Amazon S3 兼容的存储
- 使用 Google Cloud Storage
- 使用持久卷
- 运维
- 灾难恢复
- 故障诊断
- 常见问题
- 参考
- 版本发布历史
- v1.3
- v1.2
- v1.1
- v1.0
- v0
修改 TiDB 集群配置
TiDB 集群自身支持通过 SQL 对 TiDB、TiKV、PD 等组件进行在线配置变更,无需重启集群组件。但是,对于部署在 Kubernetes 中的 TiDB 集群,部分组件在升级或者重启后,配置项会被 TidbCluster CR 中的配置项覆盖,导致在线变更的配置失效。
本文介绍如何修改部署在 Kubernetes 上的 TiDB 的集群配置,避免重启或升级导致配置失效。由于 PD 的特殊性,需要分别对 PD 和其他组件进行配置。
修改 TiDB/TiKV 等组件配置
对于 TiDB 和 TiKV,如果通过 SQL 进行在线配置变更,在升级或者重启后,配置项会被 TidbCluster CR 中的配置项覆盖,导致在线变更的配置失效。因此,如果需要持久化修改配置,你需要在 TidbCluster CR 中直接修改配置项。
对于 TiFlash、TiCDC 和 Pump,目前只能通过在 TidbCluster CR 中修改配置项。
在 TidbCluster CR 中修改配置项的步骤如下:
参考配置 TiDB 组件中的参数,修改集群的 TidbCluster CR 中各组件配置:
kubectl edit tc ${cluster_name} -n ${namespace}
查看配置修改后的更新进度:
watch kubectl -n ${namespace} get pod -o wide
当所有 Pod 都重建完毕进入
Running
状态后,配置修改完成。
修改 PD 组件配置
在 PD 首次启动成功后,PD 的部分配置项会持久化到 etcd 中,且后续将以 etcd 中的配置为准。因此,在 PD 首次启动后,这些配置项将无法再通过 TidbCluster CR 来进行修改。
PD 中支持在线修改的配置项里,除 log.level
外,其他配置项在 PD 首次启动之后均不再支持通过 TidbCluster CR 进行修改。
对于部署在 Kubernetes 中的 TiDB 集群,如需修改 PD 配置参数,需要使用 SQL、pd-ctl 或 PD server API 来动态进行修改。