3.1.2 TiDB Cluster Operation(本地化部署的 TiDB 集群运维)@4班+小明

课程名称:3.1.2 TiDB Cluster Operation(本地化部署的 TiDB 集群运维)

学习时长:

40分钟

课程收获:

掌握 TiUP 工具对集群的日常操作

课程内容:

TiUP是TiDB4.0新出的用于部署和组件管理的工具,支持本地集群、测试集群和生产环境集群部署、组建管理和以及分发的管理,是一个单独的二进制文件,通过简单的命令完成一系列操作,可以想象为TiDB生态中的apt工具。

一、Check the cluster status

  1. 查看TiUP管理的集群
    $tiup cluster list
  2. 检查某个TiDB集群所有组件的运行状态
    $tiup cluster dispaly {cluster_name}

二、Start/stop cluster

  1. 启停动顺序
  • 启动:PD->TiKV->Pump->TiDB->TiFlash->Drainer
  • 停止:Drainer->TiFlash->TiDB->Pump->TiKV->PD
  1. 命令
    $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

  1. 进入编辑模式
    $tiup cluster edit-config < cluster-name >
  2. 通过修改server_config进行全局修改,通过修改对应节点下的config进行单节点修改
  3. 滚动重启生效修改
    $tiup cluster reload < cluster-name > [-N < nodes >] [-R < roles >]
    $tiup cluster reload < cluster-name > -R tidb(重启所有TiDB)

四、Scale the TiDB Cluster

  1. 扩容TiDB/PD/TiKV
  • 扩容操作前提需要编辑一个拓扑文件.yaml
  • $ tiup cluster scale-out < cluster-name > 拓扑文件.yaml
  • 扩容成功后,日志将打印successfully,且不会影响业务
  1. 扩容TiFlash
  • 满足TiDB版本必须高于4.0rc版和pd-ctl中enable-placement-rules参数设置为ture两个前提
  • 扩容操作前提需要编辑一个拓扑文件.yaml
  • $ tiup cluster scale-out < cluster-name > 拓扑文件.yaml
  • 扩容成功后,日志将打印successfully,且不会影响业务
  1. 缩容TiDB/PD/TiKV
  • 查看集群信息找的需删除节点ID
    $tiup cluster display < cluster-name >
  • 删除相应节点
    $tiup cluster scale-in < cluster-name > --node < node-ID >
  1. 缩容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

  1. 获取到hotfix文件
  2. 执行打补丁命令
  • 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模式)

  1. 注意事项
  • 升级不支持回滚
  1. 以下情况出现,无法将Ansible转成TiUP管理
    支持TSL,无TiDB实例、支持Kafka、使用了TiSpark、使用了Lightning/Importer、node_exporter或blackbox_exporter没有指定端口,使用supervise管理模式
  2. 步骤
  • 下载安装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

  1. 执行Shell命令
    $tiup cluster exec < cluster-name > --command=‘ls /tmp’
  2. 查看在TiUP中执行的操作
    $tiup cluster audit [audit-id]
  3. 对cluster进行Rename
    $tiup cluster rename < cluster-name > < new-name >
  4. 清理cluster
    $ tiup cluster clean ${cluster-name } --all

同学你好,感谢参与 TiDB 4.0 课程的学习!

本篇笔记逻辑清晰、内容丰富,被评选为优质笔记,将额外获得 20 积分,并在 「TiDB 培训」分类下获得“置顶”权益,积分兑换规则将于近期开放,敬请关注!

期待您继续产出优质内容!

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。