Drainer启动超时

pump_109.log (3.0 MB) pump_110.log (703.6 KB)

下面截图是另外两个pd的日志,


  1. 查看到是由于获取history ddl导致内存不够,需要更大的内存来支持。暂时没有好的方法来规避。

  1. 方便执行下 admin show ddl jobs 吗? 多谢

1、内存的事,我们先验证一下,申请一台64g内存的机器试一下,成功后再申请正式使用的,但这台机器正式申请时,也就申请个32g,再高就费劲了。

2、使用 admin show ddl jobs这个命令查出来的记录,有10条,但都是执行成功的了,不影响的。

好的 辛苦先根据内存的使用情况查下问题,后面有其他问题,欢迎开帖。

使用64g机器,内存占用30%,相当于20g时,启动成功。tidb当中的表可以迁移到下游mysql当中。
但始终感觉一个drainer工具,在启动时占用这么大的内存,是存在问题的。
在启动的配置文件当中,已经明确了 replicate-do-db这个配置,就代表只处理这一个数据库的数据,怎么也不应该读取与他不相关的信息

这个问题也不能算是问题历时三天,终于搞定了,感谢TiDB的同学!

好的,有问题欢迎问题。

我也碰到了这个问题,我想看看是不是同一个问题,您这个日志是哪个节点的日志了

你好,

可以跟进下自己的帖子哦~

你好,哪个节点的日志,这句话没太理解。
我们的现象是drainer使用ansible部署成功后,在启动时,一直启动不了,
现象:
1、可以在drainer服务器上面看到drainer进程运行一会后,就会被关闭,之后还会立即启动,内存一直在增长当中
2、通过drainer日志也可以看到一直在不断的启动

如果你的现象和我们的一样,可以考虑将增加内存试一下

@knight11111 可以回复下,多谢

好的,这样看来还是不一样的!我的其它原因导致的内存占用太大。降低了这两个参数,试试效果。 “worker-count”:8

“txn-batch”:10,

ok,可以根据具体现象,分析下,多试几次,再观察服务器的cpu、内存、磁盘等相关,把这些先排除掉,再观察TiDB日志,看下有没有什么异常信息。 祝好运!

:clap:

你好,我手工安装的drainer 也有同样的现象:进程一直持续消耗内存,直到 OOM,并且 OOM 之前都没有启动 8249 端口。

启动命令:
nohup ./drainer -config ./drainer.toml > log/drainer_stderr.log 2>&1 &

但是 OOM 后 drainer_stderr.log 并没有输出,drainer.log 也没有报错,只是一直没有启用 8249端口的信息:


请问如何才能让drainer_stderr.log 有输出,然后根据输出信息排查是什么在消耗内存呢?

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