修改DM-worker配置文件导致dm任务报错

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:V3.0.3
  • 【问题描述】:dm版本为V1.0.3

第一步:修改"dm部署目录/conf/dm-worker.toml"配置文件中的[purge]配置组三个参数,如下 第二步:执行 ansible-playbook rolling_update.yml --tags=dm-worker命令,以重启dm-work组件,以便修改的配置参数生效 第三步:发现dm任务出现报错 fail to initial unit Sync of subtask test_order_dm : no valid relay sub directory exists 第四步:第一步时只是修改了配置的值,并未修改其他任何文件和目录。后面使用resume-task命令救火,发现没起效果,任务依然同样报错

[purge]
interval = 3600
expires = 24
remain-space = 15

“msg”: “[code=28005:class=relay-event-lib:scope=internal:level=high] fail to initial unit Sync of subtask test_order_dm : no valid relay sub directory exists\ngithub.com/pingcap/dm/pkg/terror.(*Error).Generate\n\t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/pkg/terror/terror.go:232\ngithub.com/pingcap/dm/syncer.(*Syncer).setInitActiveRelayLog\n\t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/syncer/relay.go:47\ngithub.com/pingcap/dm/syncer.(*Syncer).Init\n\t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/syncer/syncer.go:409\ngithub.com/pingcap/dm/dm/worker.(*SubTask).Init\n\t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/dm/worker/subtask.go:129\ngithub.com/pingcap/dm/dm/worker.(*SubTask).Run\n\t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/dm/worker/subtask.go:172\ngithub.com/pingcap/dm/dm/worker.(*SubTask).Resume\n\t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/dm/worker/subtask.go:415\ngithub.com/pingcap/dm/dm/worker.(*Worker).handleTask\n\t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/dm/worker/worker.go:880\ngithub.com/pingcap/dm/dm/worker.(*Worker).Start.func1\n\t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/dm/worker/worker.go:178\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1357”,

1:请问是什么原因引起的呢 ?难道是修改配置的流程不对吗? 当前这种错误该如何解决呢?

2:请问expires和remain-space参数可以在任务初始化时就进行修改吗? 该如何修改呢?

谢谢

  1. 修改部署目录的话,不可以通过 ansible 来滚动重启,会从模板再覆盖

  2. 可以修改的 : roles/dm-worker/templates/dm-worker.toml.j2 文件中

1: 请问对于现有的已经存在的正在运行的dm任务,该如何修改 relay log purge strategy 的三个配置参数呢 ?

2: 上面任务报错,是由于手动修改了dm-work部署目录下的dm-worker.toml文件中的这3个配置参数导致的,并没有修改其他配置参数和文件。请问有什么办法可以恢复任务到正常状态吗?

谢谢

建议在目标的 dm-worker 下面的的参数文件设置,然后通过单个 dm-worker 重启生效。

1赞

好的,我试一下看看,多谢

这种方法有效 ,赞 :+1:

如果有新的问题,请创建新的 asktug 的问题帖。