TiDB日常运维手册
2024-10-20 06:36:23
1.处理dm不兼容DDL
迁移中断,执行跳过操作
tiup dm list
tiup dm display xxx-dm-prod
tiup dmctl --master-addr 10.0.xx.xx:8261
» query-status task-xxx-01
» binlog skip task-xxx-01
» query-status task-xxx-01
迁移中断,执行替代操作
报错:"Message": "cannot track DDL: ALTER TABLE `db1`.`tbl1` ADD COLUMN `new_col` INT UNIQUE KEY"
替代:
» binlog replace test "ALTER TABLE `db1`.`tbl1` ADD COLUMN `new_col` INT;ALTER TABLE `db1`.`tbl1` ADD UNIQUE(`new_col`)";
参考:https://docs.pingcap.com/zh/tidb/stable/handle-failed-ddl-statements
修改任务配置
因为 DM 集群会持久化保存任务配置,所以修改任务配置需要通过 stop-task、start-task 将修改后的配置更新到 DM 集群中,如果直接修改任务配置文件,
但是不重启任务,配置变更不会生效,DM 集群重启时仍然会读取之前保存的任务配置。
只要task-name不变,则还是沿用之前的dm-meta的元数据,如:{task-name}_syncer_checkpoint 这里以修改timezone为例,其任务配置修改步骤如下: 1.修改任务配置文件,将 timezone 设置为 Asia/Shanghai 2.通过 stop-task 命令停止任务:stop-task <task-name | task-file> 3.通过 start-task 命令启动任务:start-task <config-file> 4.在 DM v2.0.1 及其以后版本中,可通过 get-config 命令检查配置是否生效:get-config task <task-name>
参考:https://docs.pingcap.com/zh/tidb-data-migration/v5.3/task-configuration-file
重置数据迁移任务
当数据迁移过程中发生异常且无法恢复时,需要重置数据迁移任务,对数据重新进行迁移: 1.使用 stop-task 停止异常的数据迁移任务。 2.清理下游已迁移的数据。 3.从下面两种方式中选择其中一种重启数据迁移任务:
1)修改任务配置文件以指定新的任务名,然后使用 start-task {task-config-file} 重启迁移任务。
2)使用 start-task --remove-meta {task-config-file} 重启数据迁移任务。
参考:https://docs.pingcap.com/zh/tidb/stable/dm-faq
2.设置GC
系统变量进行 GC 配置:
tidb_gc_enable
tidb_gc_run_interval
tidb_gc_life_time
tidb_gc_concurrency
tidb_gc_scan_lock_mode
tidb_gc_max_wait_time
tidb_gc_enable:这个变量用于控制是否启用 TiKV 的垃圾回收 (GC) 机制。默认是on;
tidb_gc_life_time:这个变量用于指定每次进行垃圾回收 (GC) 时保留数据的时限。
tidb_gc_max_wait_time :这个变量用于指定活跃事务阻碍 GC safe point 推进的最大时间
tidb_gc_run_interval:这个变量用于指定垃圾回收 (GC) 运行的时间间隔
tidb_gc_concurrency:这个变量用于指定 GC 在Resolve Locks(清理锁)步骤中线程的数量。默认值 -1 表示由 TiDB 自主判断运行 GC 要使用的线程的数量
GC in compaction Filter 机制
可以由TiKV配置文件中的以下开关控制:
[gc] enable-compaction-filter = true
该 GC 机制可通过在线配置变更开启:
show config where type = 'tikv' and name like '%enable-compaction-filter%';
+------+-------------------+-----------------------------+-------+
| Type | Instance | Name | Value |
+------+-------------------+-----------------------------+-------+
| tikv | 172.16.5.37:20163 | gc.enable-compaction-filter | false |
| tikv | 172.16.5.36:20163 | gc.enable-compaction-filter | false |
| tikv | 172.16.5.35:20163 | gc.enable-compaction-filter | false |
+------+-------------------+-----------------------------+-------+
set config tikv gc.enable-compaction-filter = true;
show config where type = 'tikv' and name like '%enable-compaction-filter%';
+------+-------------------+-----------------------------+-------+
| Type | Instance | Name | Value |
+------+-------------------+-----------------------------+-------+
| tikv | 172.16.5.37:20163 | gc.enable-compaction-filter | true |
| tikv | 172.16.5.36:20163 | gc.enable-compaction-filter | true |
| tikv | 172.16.5.35:20163 | gc.enable-compaction-filter | true |
+------+-------------------+-----------------------------+-------+
最新文章
- Datafactory必须注意事项
- 带连接池的netty客户端核心功能实现剖解
- FancyTree 状态保持
- javascript之document对象
- cvsnt 设置用户、修改密码
- SimpleAliasRegistry implements AliasRegistry
- 解决SQL Server Management Studio Express不支持更新全文目录的方法
- Java学习系列(一)Java的运行机制、JDK的安装配置及常用命令详解
- 自己动手打造html5星际迷航!
- sql 比较2个test字段的值
- Hibernate(或其它ORM)里的inverse用法详解,内容摘自Java web轻量级开发面试教程
- JAVA实现网页上传头像
- Short But Scary 解题报告
- ThreadLocal, HandlerThread, IntentService
- JAVA实现简单的四则运算
- java中的\b是什么意思?
- Jupyter中python3之numpy练习
- centos7环境安装rabbitMQ
- .NET Core 指南 官方
- SPL之Iterator和ArrayAccess的结合使用
热门文章
- get请求拼接数组转字符串
- element-ui中table组件的表格嵌套Select,table中使用select
- 【Vue】启动vue项目报错: errno: -4058, code: ‘ENOENT‘, syscall: ‘spawn cmd‘
- 2022年7月14日,第四组 周鹏,认识JAVA的第二天(;&#180;д`)ゞ(;д;)
- Redis RDB 与AOF
- [C++]什么是POD?
- 使用IDEA搭建SSM项目
- P8775 [蓝桥杯 2022 省 A] 青蛙过河
- 面试官:JVM是如何判定对象已死的?
- java基础:方法