新启动一个dm-worker进程报错

[2020/05/26 17:00:34.585 +08:00] [ERROR] [main.go:78] [“fail to start dm-worker”] [error="[code=40041:class=dm-worker:scope=internal:level=high] try to upgrade from any older version to {“internal-no”:1,“release-version”:“v1.0.5”}: open DB for dm_worker_meta/kv: open kv db file: resource temporarily unavailable"] [errorVerbose="[code=40041:class=dm-worker:scope=internal:level=high] try to upgrade from any older version to {“internal-no”:1,“release-version”:“v1.0.5”}: open DB for dm_worker_meta/kv: open kv db file: resource temporarily unavailable\ngithub.com/pingcap/dm/pkg/terror.(*Error).Delegate\ \t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/pkg/terror/terror.go:267\ngithub.com/pingcap/dm/dm/worker.openDB\ \t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/dm/worker/db.go:69\ github.com/pingcap/dm/dm/worker.tryUpgrade\ \t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/dm/worker/upgrade.go:145\ github.com/pingcap/dm/dm/worker.NewWorker\ \t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/dm/worker/worker.go:120\ github.com/pingcap/dm/dm/worker.(*Server).Start\ \t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/dm/worker/server.go:78\ main.main\ \t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/cmd/dm-worker/main.go:76\ runtime.main\ \t/usr/local/go/src/runtime/proc.go:203\ runtime.goexit\ \t/usr/local/go/src/runtime/asm_amd64.s:1357"]

服务器上已经启动了一个dm-worker进程,在启动第二个dm-worker进程的时候报错了,感觉和dm_worker_meta目录有关系,但是没有看到指定dm_worker_meta目录的配置

请问当前tidb 集群 和dm版本是什么? 能否尝试按照提示升级到新版本?

tidb是v4.0-rc
dm是v1.0.5
我需要升级什么

这两个 dm-worker 和 dm-master 的版本号各是多少?麻烦提供下 dm-master -V 和 dm-worker -V 的结果

都是 Release Version: v1.0.5

dm-worker 有没有指定设置 meta-dir,两个 dm-worker 如果部署在同一个服务器上,meta-dir 需要用不同的路径

没有,默认配置没有这个参数,所以没配

建议第二个启动的 dm-worker 配置一下这个参数,或者两个 dm-worker 在不同的目录下创建进程

好的,第二种方式试过了,没问题,我试试指定meta-dir的方式

感谢反馈

dm-worker现在启动没问题了,但是start-task 新任务失败。
具体情况是这样的:一台服务器上启动了dm-master和两个dm-worker,source id分别是mysql-replica-01和mysql-replica-02,已经创建了一个task,指定的source id是mysql-replica-01,创建第二个task的时候,指定的source id是mysql-replica-02,结果报错:

“msg”: “[code=38028:class=dm-master:scope=internal:level=high] mysql-replica-02 relevant worker not found
github.com/pingcap/dm/pkg/terror.(*Error).Generatef
\t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/pkg/terror/terror.go:237
github.com/pingcap/dm/dm/master.(*Server).generateSubTask
\t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/dm/master/server.go:1861
github.com/pingcap/dm/dm/master.(*Server).StartTask
\t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/dm/master/server.go:230
github.com/pingcap/dm/dm/pb._Master_StartTask_Handler
\t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/dm/pb/dmmaster.pb.go:2355
google.golang.org/grpc.(*Server).processUnaryRPC
\t/go/pkg/mod/google.golang.org/grpc@v1.25.1/server.go:1007
google.golang.org/grpc.(*Server).handleStream
\t/go/pkg/mod/google.golang.org/grpc@v1.25.1/server.go:1287
google.golang.org/grpc.(*Server).serveStreams.func1.1
\t/go/pkg/mod/google.golang.org/grpc@v1.25.1/server.go:722
runtime.goexit
\t/usr/local/go/src/runtime/asm_amd64.s:1357”

tidb是v4.0-rc
dm是v1.0.5

和之前的问题有联系吗? 如果没有联系请开新帖,可以参考下

还是之前的环境,都是dm-worker放一个服务器引起的

  1. 请参考上面的帖子重新设置密码,重启测试下
  2. 如果还不行,麻烦反馈 dm-master,dm-worker,task.yml的配置文件,我们查下配置,多谢。

把新增的dm-worker加入dm-master配置文件,重启dm-master就好了
每新增一个dm-worker,都需要重新配置dm-master并重启dm-master,是这样的吗?

你好,

辛苦按照楼上的方式先操作一波吧,上传下信息。

是的,需要重新启动,多谢

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。