Dm 启动worker报错

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

  • 【TiDB 版本】:3.0.1
  • 【问题描述】:dm搭建启动work后报错

[ERROR] [main.go:78] [“fail to start dm-worker”] [error="[code=40048:class=dm-worker:scope=internal:level=high] start server: listen tcp :8263: bind: address already in use"] [errorVerbose="[code=40048:class=dm-worker:scope=internal:level=high] start server: listen tcp :8263: bind: address already in usengithub.com/pingcap/dm/pkg/terror.(*Error).Delegate /home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/pkg/terror/terror.go:267ngithub.com/pingcap/dm/dm/worker.(*Server).Start /home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/dm/worker/server.go:75 main.main /home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/cmd/dm-worker/main.go:76 runtime.main /usr/local/go/src/runtime/proc.go:203 runtime.goexit /usr/local/go/src/runtime/asm_amd64.s:1357"]

因为配置错误,我经常重新deploy 去安装,所以会直接把dm安装目录rm -rf ,最后发现一个问题,如上报错, 我配置的是两个worker1-1 worker1-2 始终worker1-2报错,而且还发现一个奇怪的问题,ansible-playbook stop.yml 后,worker1-2会自动启动,worker1-1不会,哪怕kill 掉照样起来,很奇怪,报错一定是跟这个有关系。

DM目前是取的最新版本,
image

你好,报错 listen tcp :8263: bind: address already in use
麻烦看下是哪个 dm-worker 进程冲突了

直接 ps -ef|grep dm-worker 吧 然后你看是修改配置中的端口重新启动,还是停掉这个冲突的进程再启动

我已经重新安装了一遍,dm 安装目录重新干掉来了一遍,两个进程是起来了,不过还是日志报错,不知道是否有影响

这个端口的问题,暂时放一边把,改掉端口再说了,还有一个小问题就是调用task 的时候, 我的场景是多个分片库的单表合并成一张表,正则怎么写? /home/tidb/dm-ansible/resources/bin/mydumper -h 192.168.1.2 -u dm_user -p “dm_user” -P 24801 --regex=^db_name*.table_name ,这样的方式我导出来只有个dumped_data目录下有一个metadata生成文件,啥也没有,这是命令是模仿task内容的,实际上是一样的,我如果要导出一个实例下,N个分片库内的单张表,进行配置同步怎么办?

试一下
–regex ‘.*.table_name$’

这个默认还是把所有库的的所有表导出来么

是把所有库中表名为 table_name 的表导出来,你试一下。

不行,还是一样的,全库导出来

db01 db02 。。。dbN 的所有test表导出来,也要匹配库才行

–regex ‘.*.tablename’

还是不行,128个库头疼。

你给我随便看两个库,每个库里表名是什么

类似库名:db01.test ,db02.test

按照这个排就行

那刚才我发的那个应该可以呀,我这边试了一下可以。