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 |
+------+-------------------+-----------------------------+-------+

TiDB日常运维手册的更多相关文章

  1. hadoop日常运维与升级总结

    日常运维 升级 问题处理方法 日常运维 进程管理 由于配置文件的更改,需要重启生效, 或者是进程自己因某种致命原因终止, 或者发现进程工作出现异常等情况下,需要进行手动进程的关闭或启动, 或者是增删节 ...

  2. zookeeper 用法和日常运维

    本文以ZooKeeper3.4.3版本的官方指南为基础:http://zookeeper.apache.org/doc/r3.4.3/zookeeperAdmin.html,补充一些作者运维实践中的要 ...

  3. hadoop记录-hadoop集群日常运维命令

    hadoop集群日常运维命令 #1.namenode hadoop namenode -format #格式化,慎用 su hdfs hadoop-daemon.sh start namenode h ...

  4. Jenkins日常运维笔记-重启数据覆盖问题、迁移、基于java代码发版(maven构建)

    之前在公司机房部署了一套jenkins环境,现需要迁移至IDC机房服务器上,迁移过程中记录了一些细节:1)jenkins默认的主目录放在当前用户家目录路径下的.jenkins目录中.如jenkins使 ...

  5. Docker Swarm 日常运维命令笔记

    之前介绍了Docker管理工具-Swarm部署记录,这里简单总结下Docker Swarm的日常维护命令,以作为平时运维笔记. Swarm作为一个管理Docker集群的工具,首先需要将其部署起来,可以 ...

  6. Windows系统日常运维

    WINDOWS系统日常运维 http://www.docin.com/p-677263438.html

  7. MySQL 日常运维业务账号权限的控制

    在MySQL数据库日常运维中,对业务子账号的权限的统一控制十分必要. 业务上基本分为读账号和写账号两种账号,所以可以整理为固定的存储过程,让数据库自动生成对应的库的账号,随机密码.以及统一的读权限,写 ...

  8. mysql日常运维与参数调优

    日常运维 DBA运维工作 日常 导数据,数据修改,表结构变更 加权限,问题处理 其它 数据库选型部署,设计,监控,备份,优化等 日常运维工作: 导数据及注意事项 数据修改及注意事项 表结构变更及注意事 ...

  9. Hbase 日常运维

    日常维护的命令 1,major_compact 'testtable',通常生产环境会关闭自动major_compact(配置文件中hbase.hregion.majorcompaction设 为0) ...

  10. linux日常运维工作

    Linux的使用环境也日趋成熟,各种开源产品络绎不绝,大有百花齐放的盛景,那么当Linux落地企业,回归工作时,我们还要面对这Linux运维方面的诸多问题,今天我们特意组织一场有关Linux 在企业运 ...

随机推荐

  1. JavaScript:操作符:逗号运算符

    逗号运算符,是极少见的运算符,我们看一下代码理解一下逗号运算符的功能: 先说结论,逗号运算符的优先级非常低,比赋值运算符=还要低: 同时,逗号隔开的几个表达式,都会各自进行计算,但是整体表达式只会返回 ...

  2. Javaweb后端学习笔记

    C/S结构与B/S结构: 1.C/S(Client/Server)结构:适用于个人娱乐市场[QQ等] (1).优点:安全性高.且有效降低服务器压力: (2).不足:增加服务成本.更新较繁琐: 2.B/ ...

  3. 将git仓库从submodule转换为subtree

    三个脚本 Alexander Mikhailian cat .gitmodules |while read i do if [[ $i == \[submodule* ]]; then mpath=$ ...

  4. [OpenCV实战]49 对极几何与立体视觉初探

    本文主要介绍对极几何(Epipolar Geometry)与立体视觉(Stereo Vision)的相关知识.对极几何简单点来说,其目的就是描述是两幅视图之间的内部对应关系,用来对立体视觉进行建模,实 ...

  5. 使用Rancher管理K3s

    rancher中国镜像站地址 https://rancher-mirror.oss-cn-beijing.aliyuncs.com/ https://rancher-mirror.rancher.cn ...

  6. (20)go-micro微服务Elasticsearch使用

    目录 一 Elasticsearch介绍 二 Elasticsearch的主要功能及应用场景 1.Elasticsearch 主要具有如下功能: 2.Elasticsearch 的主要应用场景如下: ...

  7. 阿里云服务器中MySQL数据库被攻击

    前几天刚领了一个月的阿里云服务器玩,在里面装了MySQL,然后这几天找了个小项目练习着玩呢,就将表建在里面了. 刚访问添加员工还好好的,刚给员工分页查询呢 ,啪一下 ,很突然昂 ,就访问不了了 ,看控 ...

  8. 走进Linux

    走进Linux Linux诞生 ​ BSD,Unix,Minix都是操作系统. ​ 1991年,林纳斯托瓦兹在上大学时,对操作系统很好奇.但是由于 386 BSD 还没有出来.可是他不喜欢他的 386 ...

  9. Cannot find module ‘xxx\node_modules\yorkie\bin\install.js‘

    1.出现问题原因 安装一个新仓库代码的依赖包,如输入npm install或yarn install,出现如题错误 2.解决办法 1)升级node.js 下载地址:https://nodejs.org ...

  10. mapreduce的使用

    mapreduce的使用 以下案例写之前需要导入jar包依赖: <dependencies> <dependency> <groupId>org.apache.ha ...