课程名称:3.1.2 TiDB Cluster Operation(本地化部署的 TiDB 集群运维)
学习时长:
40分钟
课程收获:
掌握 TiUP 工具对集群的日常操作
课程内容:
TiUP是TiDB4.0新出的用于部署和组件管理的工具,支持本地集群、测试集群和生产环境集群部署、组建管理和以及分发的管理,是一个单独的二进制文件,通过简单的命令完成一系列操作,可以想象为TiDB生态中的apt工具。
一、Check the cluster status
- 查看TiUP管理的集群
$tiup cluster list - 检查某个TiDB集群所有组件的运行状态
$tiup cluster dispaly {cluster_name}
二、Start/stop cluster
- 启停动顺序
- 启动:PD->TiKV->Pump->TiDB->TiFlash->Drainer
- 停止:Drainer->TiFlash->TiDB->Pump->TiKV->PD
- 命令
$tiup cluster start/stop < cluster-name >
$tiup cluster start/stop < cluster-name > -R < Role >
$tiup cluster start/stop < cluster-name > -N < node-ID1 >,< node-ID2 >
三、Modify the configuration
- 进入编辑模式
$tiup cluster edit-config < cluster-name > - 通过修改server_config进行全局修改,通过修改对应节点下的config进行单节点修改
- 滚动重启生效修改
$tiup cluster reload < cluster-name > [-N < nodes >] [-R < roles >]
$tiup cluster reload < cluster-name > -R tidb(重启所有TiDB)
四、Scale the TiDB Cluster
- 扩容TiDB/PD/TiKV
- 扩容操作前提需要编辑一个拓扑文件.yaml
- $ tiup cluster scale-out < cluster-name > 拓扑文件.yaml
- 扩容成功后,日志将打印successfully,且不会影响业务
- 扩容TiFlash
- 满足TiDB版本必须高于4.0rc版和pd-ctl中enable-placement-rules参数设置为ture两个前提
- 扩容操作前提需要编辑一个拓扑文件.yaml
- $ tiup cluster scale-out < cluster-name > 拓扑文件.yaml
- 扩容成功后,日志将打印successfully,且不会影响业务
- 缩容TiDB/PD/TiKV
- 查看集群信息找的需删除节点ID
$tiup cluster display < cluster-name > - 删除相应节点
$tiup cluster scale-in < cluster-name > --node < node-ID >
- 缩容TiFlash
- 把已经在TiFlash设定副本的表将他的TiFlash副本数设定为0
$ alter table < db-name >.< table-name > set tiflash replica 0; - 在数据库中检查副本是否被删除
SELECT * FROM information_schema.tiflash_replica WHERE TABLE_SCHEMA = ‘< db_name>’ and TABLE_NAME = ‘<table_name>’; - 查看集群信息找的需删除节点ID
$tiup cluster display < cluster-name > - 删除相应节点
$tiup cluster scale-in < cluster-name > --node < node-ID >
五、Cluster controllers
六、Fix pack installation
- 获取到hotfix文件
- 执行打补丁命令
- tiup cluster patch < cluster-name > < package- path> [flags]
- tiup cluster patch --help
- tiup cluster patch test-cluster /tmp/tidb-hotfix.tar.gz -R tidb
- tiup cluster patch test-cluster /tmp/tidb-hotfix.tar.gz -N 172.16.2.4:4000
七、Upgrade from TiDB 3.0(将3.0/3.1Ansible模式升级至4.0TiUP模式)
- 注意事项
- 升级不支持回滚
- 以下情况出现,无法将Ansible转成TiUP管理
支持TSL,无TiDB实例、支持Kafka、使用了TiSpark、使用了Lightning/Importer、node_exporter或blackbox_exporter没有指定端口,使用supervise管理模式 - 步骤
- 下载安装TiUP
$curl --proto ‘=https’ --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh source .bash_profile - 安装TiUP cluster组件
$tiup cluster - 安装TiUP cluster import(指定之前ansible的路径)
$tiup cluster import -d /home/tidb/tidb-ansible - 通过几步确认步骤安装完成
- 执行升级
$tiup cluster upgrade < cluster-name > v4.0.0
八、Others
- 执行Shell命令
$tiup cluster exec < cluster-name > --command=‘ls /tmp’ - 查看在TiUP中执行的操作
$tiup cluster audit [audit-id] - 对cluster进行Rename
$tiup cluster rename < cluster-name > < new-name > - 清理cluster
$ tiup cluster clean ${cluster-name } --all