TiDB-配置调整

摘要:
集群配置包括pd,tidb-server,tikv,tiflash的配置,通过各个节点上配置文件持久化设置。区别作用域集群配置没有作用域范围,只有系统配置才有作用域global:对新建会话连接有效,当前连接会话或已建立的会话不生效session:仅在当前会话生效instance:节点上实例重启后生效配置调整系统参数通过mysql客户端连接到TiDB-Server后,使用set命令修改。集群配置表用于获取集群当前所有实例的配置。对于TiDB4.0之前的版本,用户必须逐个访问各个实例的HTTPAPI才能获取这些配置信息。

配置分类

系统配置(系统变量)

通过mysql客户端中使用命令进行修改,持久化到tikv层。

集群配置

包括pd, tidb-server, tikv,tiflash的配置,通过各个节点上配置文件持久化设置。只有在节点重启生效。

区别

image-20211025131433401

作用域(系统参数)

集群配置没有作用域范围,只有系统配置才有作用域

  • global: 对新建会话连接有效,当前连接会话或已建立的会话不生效
  • session: 仅在当前会话生效
  • instance: 节点上实例重启后生效

配置调整

系统参数

通过mysql客户端连接到TiDB-Server后,使用set命令修改。

全局参数

-- 1.1 查看当前配置值
select @@tidb_slow_log_threshold;
-- 1.2 修改配置
set @@global.tidb_slow_log_threshold = 200;
set global tidb_slow_log_threshold = 200;

会话参数

set tidb_distsql_scan_concurrency = 10;
set session tidb_distsql_scan_concurrency = 10;

集群参数

配置过程

  1. 以编辑模式打开集群的配置文件
  2. 设置参数
  3. 执行reload命令滚动分发配置、重启相应组件

详细过程

以编辑模式打开集群的配置文件
tiup cluster edit-config ${cluster-name}
设置参数
全局组件范围生效(在server_configs标签内配置)
server_configs:
  tidb:
    log.slow-threshold: 300
指定组件范围生效(在具体节点标签内配置)
tidb_servers:
- host: 192.168.10.181
    port: 4000
    config:
        log.slow-threshold: 300

可以参考模板文件参数配置

/tidb/.tiup/bin/tiup cluster template # 生成模板文件

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

查看配置

集群参数

通过show config命令查看

通过 SQL语句 show config 来直接查看集群所有实例的配置信息

show config
查看tidb-server参数
-- 根据对应的字段进行过滤
SHOW CONFIG WHERE type='tidb';
SHOW CONFIG WHERE type = 'tidb' AND name = 'advertise-address';
查看tikv参数
SHOW CONFIG WHERE type='tikv';
SHOW CONFIG WHERE type = 'tikv' AND name like '%sync-log%';

image-20211025154958711

使用系统表查看

Information Schema 提供了一种查看系统元数据的方法。许多 INFORMATION_SCHEMA 表都有相应的 SHOW 命令。查询 INFORMATION_SCHEMA 的好处是可以在表之间进行 join 操作。

  • 集群拓扑表 (information_schema.cluster_info)

    用于获取集群当前的拓扑信息,以及各个实例的版本、版本对应的 Git Hash、各实例的启动时间、各实例的运行时间。

  • 集群配置表 (information_schema.cluster_config)

    用于获取集群当前所有实例的配置。对于 TiDB 4.0 之前的版本,用户必须逐个访问各个实例的 HTTP API 才能获取这些配置信息。

  • 集群硬件表 information_schema.cluster_hardware

    用于快速查询集群硬件信息。

  • 集群负载表 information_schema.cluster_load

    用于查询集群不同实例以及不同硬件类型的负载信息。

  • 内核参数表 information_schema.cluster_systeminfo

    用于查询集群不同实例的内核配置信息。目前支持查询 sysctl 的信息。

  • 集群日志表 information_schema.cluster_log

    用于集群日志查询,通过将查询条件下推到各个实例,降低日志查询对集群的影响,性能影响小于等 grep 命令。

select * from information_schema.cluster_info;

系统参数

通过show variables命令查看系统变量值

查看各个作用域范围变量

  • 全局 (global) :使用 show global variables 查看
  • 实例 (instance) :使用 show variables 查看
  • 会话 (session) :使用 show variables 查看

image-20211025155130525

免责声明:文章转载自《TiDB-配置调整》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇GDB如何调试没有符号表(未加-g选项的编译)的程序SpringBoot启动时让方法自动执行的几种实现方式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

2、webpack基础配置

我们需要安装webpack 还需要安装webpack cli 这两个都是我们的开发依赖 这里我们一般会加一个-D表示上线的时候不需要他们两个包 安装我们的webpack 先初始化一下,记住我们的安装依赖 我机器代码的路径: D:MyDemoswebpack4webpack-dev-1 Ctrl+鼠标右键打开CMD窗体。输入 yarn init -y 初...

UVM_COOKBOOK学习【DUT-Testbench Connections】

关注微信公众号摸鱼范式,后台回复COOKBOOK获取COOKBOOK原本和译本 PDF度盘链接 将testbench连接到DUT 概述 本节,我们主要讨论将UVM testbench连接到RTL DUT的问题。 UVM testbench对象不能直接连接到DUT信号来驱动或采样。driver和monitor组件对象与DUT之间的连接是通过一个或多个具有静态...

Uncaught (in promise) Error: Network Error at createError(axios跨域问题)

axios请求到了数据但then返回不到数据,这是由于vue前端访问地址出现的跨域问题。 1、如果你是自己写的后端,可以添加配置类来避免跨域问题(建议使用) packagecom.ftest.springboot.config; importorg.springframework.context.annotation.Configuration; im...

【.NET Core】ASP.NET Core之IdentityServer4(1):快速入门

本文中的IdentityServer4基于上节的jenkins 进行docker自动化部署。使用了MariaDB,EF Core,AspNetIdentity,Docker Demo地址:https://sso.neverc.cnDemo源码:https://github.com/NeverCL/Geek.IdentityServer4 简介 OpenID...

Jedis支持哨兵模式下认证

Redis高可用哨兵模式,为了安全,也会添加认证 # 检查Redis哨兵模式下master节点命令 $ SENTINEL get-master-addr-by-name mymaster 所以,我们在Java中连接Redis时,就需要配置两种密码; 1. 连接哨兵的认证密码: sentinelPassword 2. 哨兵返回的master节点密码:red...

Android内核驱动开发中的Kconfig文件结构分析(图文)

1 Kconfig和Makefile毫不夸张地说,Kconfig和Makefile是我们浏览内核代码时最为依仗的两个文件。基本上,Linux 内核中每一个目录下边都会有一个Kconfig文件和一个Makefile文件。Kconfig和Makefile就好似一个城市的地图,地图引导我们去 认识一个城市,而Kconfig和Makefile则可以让我们了解一个内...