是直接tiup dm reload dm-test重复服务生效吗?还是执行别的什么命令?
重新配置上游的数据源,是指换了上游数据库地址吗,还是改动了什么内容?
您好,我增加了以下参数:
purge:
interval: 3600
expires: 3
remain-space: 15
执行别的命令就可以, 如 tiup dmctl --master-addr master1:8261 operate-source create /tmp/source1.yml
文档地址:https://docs.pingcap.com/zh/tidb/stable/maintain-dm-using-tiup#集群控制工具-dmctl
tiup dm reload dm-test 是重启DM集群,类似重启TiCDC集群。
根据你提供的修改内容,应该是修改了上游数据库的配置文件,是要调整一个具体的同步任务的配置,而不是想要调整DM集群本身的配置。
所以你可能需要的是如何更新同步任务配置,可以参考下官方的地址:
https://docs.pingcap.com/zh/tidb/stable/dmctl-introduction
https://docs.pingcap.com/zh/tidb/stable/usage-scenario-master-slave-switch
使用 pause-task
命令暂停迁移任务,修改配置,使用 resume-task
命令恢复之前的数据迁移任务,鉴于你这个是测试环境,可以试试看
兄弟这个不对,我晚上测试了,应该先停止stop-task任务,再删除operate-source stop,然后重新operate-source create,start-task,之后用config source配置文件就生效了。
你的这个方法也可以,我现在就是这么干的。不过官方还是提供了方案的https://docs.pingcap.com/zh/tidb/stable/usage-scenario-master-slave-switch
tiup dm reload dm-test
可以执行命令
tiup dm reload dm-test 是对的
是这样操作。
你使用stop task肯定没问题,因为stop-task会直接删除你已有的迁移任务,这个是有些风险在里面的。以前的版本印象中是可以使用pause来更改配置的,新版本不确定有无调整。因为前面看你是在测试环境做验证,所以先让你试试看使用pause-task这种相对温和的方式是否可以行,如果不行再使用stop-task的方式。
stop-task任务已经删除了任务,之后你做任何配置都相当于创建了一个新的任务,那肯定可行啊,但是有没有更好的方式,这个是应该要探讨的。
二者的区别可以了解下:
- 使用
pause-task
仅暂停迁移任务的执行,但仍然会在内存中保留任务的状态信息等,且可通过query-status
进行查询;使用stop-task
会停止迁移任务的执行,并移除内存中与该任务相关的信息,且不可再通过query-status
进行查询,但不会移除已经写入到下游数据库中的数据以及其中的 checkpoint 等dm_meta
信息。 - 使用
pause-task
暂停迁移任务期间,由于任务本身仍然存在,因此不能再启动同名的新任务,且会阻止对该任务所需 relay log 的清理;使用stop-task
停止任务后,由于任务不再存在,因此可以再启动同名的新任务,且不会阻止对 relay log 的清理。 -
pause-task
一般用于临时暂停迁移任务以排查问题等;stop-task
一般用于永久删除迁移任务或通过与start-task
配合以更新配置信息。
这个相当于 新的数据源。 和老的没关系了吧
上面有大佬的连接, 按文档操作下吧。
例如你手工编译source1.yaml
修改
purge:
interval: 3600
expires: 11
remain-space: 15
然后你tiup dm reload dm-test
然后你看配置
tiup dmctl --master-addr 127.0.0.1:8261 config source
你会发现expires值没有发生变化。
不用reload dm集群。
修改配置,可以试试下面的方式:
方式1:stop-task 永久删除迁移任务,再通过 start-task 配合以更新配置信息。
方式2:使用 pause-task
命令暂停迁移任务,修改配置,使用 resume-task
命令恢复之前的数据迁移任务。这个在新版本可以先验证是否可行,不行的话就使用方式1.