如何删掉drainer

为提高效率,提问时请尽量提供详细背景信息,问题描述清晰可优先响应。以下信息点请尽量提供:

  • 系统版本 & kernel 版本:centos 7
  • TiDB 版本:3.0.2

如何删掉drainer?我现在是pump和drainer在一台上,并且同时开了file和kafka 两个drainer。过程中配置错了,导致其中一个drainer一直是online状态,用binlogctl无法offline-pump和drainer

已经重新把draniner和pump的节点的deploy目录删除了,也重新deploy & start了,drainner是可以启动的,但是pump 会一直卡在wait pump port那步。

1赞

删除之前是否将 pump 进程停掉了,可以手动到 pump 节点机器上执行脚本启动。如果启动失败,可以根据 pump 日志排查下原因。

pump的报错是 fail to notify all living drainer: connect drainer(xxx.xx.xx.xx:8250): context deadline exceeded 但是8250这个drainer早就不用了,因为跟pump的端口冲突。但是在tidb里,8250是online状态,所以,drainer就会报连不上。 需要先把pump默认端口改成别的,然后再新建一个8250的drainer?然后再手动下线掉8250?

先手动修改pump和drainer的script下的run_[pump,drainer].sh的端口,绕开8250,然后启动drainer,再启动pump,再用binlogctl将8250drainer设置成offline,再将端口改回正常值,正常启停pump和drainer即可。