https://zhuanlan.zhihu.com/p/356031031

**导读**

> 作者:杨漆
> 16年关系型数据库管理,从oracle 9i 、10g、11g、12c到Mysql5.5、5.6、5.7、8.0 到TiDB获得3个OCP、2个OCM;运维路上不平坦,跌过不少坑、熬过许多夜。把工作笔记整理出来分享给大伙儿,希望帮到大家少走弯路、少熬夜。

一、Tiup 常用运维操作命令干货

1.查看集群列表:

tiup cluster list

2.启动顺序 PD->tikv->pump->tidb->tiflash->drainer

tiup cluster start ${cluster-name}

3.启动部分组件

tiup cluster start ${cluster-name} -R pd

4.只启动1.2.3.4和1.2.3.5这两台Server上的PD组件

tiup cluster start ${cluster-name} -N 1.2.3.4:2379, 1.2.3.5:2379

5.查看集群状态:

tiup cluster display ${cluster-name}

6.修改配置参数:

tiup cluster edit-config ${cluster-name}

全局配置:

server_configs:

tidb:

log.slow-threshold:300

仅在某个节点生效:

tidb_servers:

host:10.10.10.2

port:4000

config:

log.slow-threshold:300

### tidb config.toml.example、tikvconfig.toml.example、pd config.toml.example

7.滚动分发配置、重启组件:

tiup cluster reload ${cluster-name} [-N <nodes>][-R <roles>]

### server_configs:

tidb:

performance.txn-total-size-limit: 1073741824

tiup cluster reload ${cluster-name} -R tidb

8.Hotfix版本替换:

替换所有 tiup cluster patch test-cluster /tmp/tidb-profix.tar.gz -R tidb

只替换指定节点 tiup cluster patch test-cluster /tmp/tidb-profix.tar.gz -N 172.16.4.5:4000

9.重命名集群:

tiup cluster rename ${cluster-name} ${new-name}

备注:重命名集群会重启 prometheus和grafana;重命名集群后grafana 可能会残留一些旧集群名的面板,需要手动删除

10.关闭集群:

顺序 drainer->tiflash->tidb->pump->tikv->PD

tiup cluster stop ${cluster-name}

只关闭1.2.3.4和1.2.3.5这两台Server上的tidb组件

tiup cluster stop ${cluster-name} -N 1.2.3.4:4000, 1.2.3.5:4000

11.清除集群数据(关闭所有服务、清空数据目录/日志目录,数据无法恢复,谨慎!)

清空数据保留日志: tiup cluster clean ${cluster-name} --data

清空日志保留数据: tiup cluster clean ${cluster-name} --log

清空日志和数据: tiup cluster clean ${cluster-name} --all

清空prometheus以外的日志和数据: tiup cluster clean ${cluster-name} --all ignore-role prometheus

清空172.30.20.1:9000以外的日志和数据: tiup cluster clean ${cluster-name} --all ignore-role 172.30.20.1:9000

清空172.30.20.2以外的日志和数据: tiup cluster clean ${cluster-name} --all ignore-role 172.30.20.2

12.销毁集群(关闭服务、清空数据和部署目录,无法恢复)

tiup cluster destory ${cluster-name}

二、Tidb Ansible 常用运维操作命令干货

1.启动集群

ansible-playbook start.yml

2.关闭集群

ansible-playbook stop.yml

3.清除集群数据 (关闭TiDB、Pump、TiKV、PD 服务,并清空Pump、TiKV、PD 数据目录)

ansible-playbook unsafe_cleanup_data.yml

4.销毁集群 (关闭集群,并清空部署目录,若部署目录为挂载点,会报错,可忽略)

ansible-playbook unsafe_cleanup.yml

三、 在线修改集群配置(tidb4.0中为实验阶段,不建议生产使用)

通过在线配置变更对各组件进行性能调优而无需重启集群组件

1.查看实例配置

show config

根据对应的字段进行过滤show

show config where type='tidb'

show config where instance in (...)

show config where name like '%log%'

show config where type='tikv' and name='log-level'

2.在线修改TiKV 配置

修改全部TiKV 实例配置 set config tikvlog.level="info"

修改单个TiKV 实例配置 set config "127.0.0.1:20180" log.level="info"

备注:

在线修改TiKV 配置项后,同时会自动修改TiKV 的配置文件。但还需要使用tiup edit-config

命令来修改对应的配置项,否则upgrade 和reload 等运维操作会将在线修改配置后的结果

覆盖。执行tiup edit-config 后不需要执行tiup reload 操作。

3.在线修改PD 配置

set config pd log.level="info"

4.在线修改TiDB 配置

set tidb_slow_log_threshold = 200

查看变量: select @@tidb_slow_log_threshold

[转帖]Tiup 常用运维操作命令干货的更多相关文章

  1. linux基本语法和常用运维命令

    linux上的操作一般是命令行操作,看起来很高大上,让人畏而远之. Help!Help! 忽然间闯入的linux黑黑的世界,怎么办,不要慌.赶紧敲出一个help命令,然后回车,黑色的窗口就会展示一些常 ...

  2. 转:python常用运维脚本实例

    python常用运维脚本实例 转载  file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函 ...

  3. python常用运维脚本实例【转】

    file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函数open()来打开一个文件 . 首先 ...

  4. DB2常用运维命令

    DB2是IBM公司推出关系型数据库管理系统.主要应用于银行.医院等大型机构.现今DB2主要包含以下三个系列:DB2 for Linux, UNIX and Windows(LUW) . DB2在Lin ...

  5. Liunx常用运维命令整理记录

    前言 作为后端开发者,掌握一些常用的运维命令也是很有必要的,本文记录常用Liunx运维命令 基本命令 目录切换 cd base-admin/ 切换到当前目录下的base-admin目录 cd .. 切 ...

  6. [转帖]Linux企业运维人员最常用150个命令汇总

    Linux企业运维人员最常用150个命令汇总 https://clsn.io/clsn/lx998.html 基本上都用过了. 命令 功能说明 线上查询及帮助命令(2个) man 查看命令帮助,命令的 ...

  7. linux常用运维命令【转】

    自己的小网站跑在阿里云的ECS上面,偶尔也去分析分析自己网站服务器日志,看看网站的访问量.看看有没有黑阔搞破坏!于是收集,整理一些服务器日志分析命令,大家可以试试! 1.查看有多少个IP访问: awk ...

  8. python常用运维脚本实例

    转载  file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函数open()来打开一个文件 ...

  9. nginx常用运维日志分析命令

    nginx常用日志分析命令 运维人员必备 常用日志分析命令 1.总请求数 wc -l access.log |awk '{print $1}' 2.独立IP数 awk '{print $1}' acc ...

  10. (转)ceph 常用 运维命令--查看信息 - 不错的文档

    下面是测试验证环节 1. 创建一个 pool rbd create foo --size 4 --image-format 2 --image-feature layering 2. 挂载和格式化 r ...

随机推荐

  1. 无法找到模块“element-plus/dist/locale/zh-cn.mjs”的声明文件

    把 zhCn 的引入 改成 下面这个就可以了 import zhCn from "element-plus/es/locale/lang/zh-cn"; 贼拉拉管用,快去试试吧 ~

  2. 对比Spring Boot中的JdbcClient与JdbcTemplate

    本文我们一起看看Spring Boot中 JdbcClient 和 JdbcTemplate 之间的差异. 以下内容使用的Java和Spring Boot版本为: Java 21 Spring Boo ...

  3. 前端系列:ES6-ES12新语法

    目录 ECMAScript系列:简介 ECMAScript系列:ES6新特性 let 关键字 const 关键字 变量的解构赋值 模板字符串 简化对象写法 箭头函数 参数默认值 rest 参数 spr ...

  4. BlockCanary原理解析

    一.背景 为了解决应卡顿,分析耗时. 二.原理 Looper中的loop方法: public static void loop() { ... for (;;) { ... // This must ...

  5. (Dnc系列)借助Dnc.Events.InMemory在三分钟实现一个内存级别的事件驱动处理模型

    前言 Dnc.Events是在借鉴领域驱动设计大佬daxnet的博客基础上做的基于内存级别的EDA处理模型,不清楚EDA的童鞋请自行百度. 第一分钟 安装Nuget Dnc.Events.InMemo ...

  6. 华为云AI论文精读会2021第一期:高效语义分割模型Fast-SCNN分享

    2020年举办的华为云AI经典论文复现活动,不仅受到了参赛者们一致好评,也产出了许多优质的算法成果.这些论文复现的算法描述.源代码以及算法使用指导文档均已发布到了AI Gallery.为了让开发者更好 ...

  7. SparkSQL的入门实践教程

    摘要:Spark SQL是用于处理结构化数据的模块.与Spark RDD不同的是,Spark SQL提供数据的结构信息(源数据)和性能更好,可以通过SQL和DataSet API与Spark SQL进 ...

  8. Hive查看表/分区更新时间

    1.查看分区 hive> show partitions table_name; 2.查看分区更新时间 获取hdfs路径 hive> desc formatted table_name; ...

  9. SpringBoot Docker 发布到 阿里仓库

    1. 创建仓库 管理里面,可以查看详细的信息 设置登录密码 2. 接下来,将本地镜像推到阿里 : SpringBoot Docker 发布 docker commit 这部分可以不操作 docker ...

  10. 【短道速滑四】Halcon的texture_laws算子自我研究

    Halcon里有个texture_laws 算子,最近实现了下,记录下相关细节. Halcon的文档里对该算子是这样描述的: texture_laws - Filter an image using ...