fe master内存不断增加,非mater的fe内存不增加,目前定位是mysql catalog的问题

Viewed 167

doris2.1.4版本+openjdk version "1.8.0_352"使用mysql catalog功能,JVM的元空间内存在不断增加,不回收。 请问这个问题如何解决?
image.png
有大量的这样的类无法卸载。
下面是元空间的大小,已经超过正常的大小。
image.png

2 Answers

在使用 MySQL Catalog 的过程中发现 FE 的 JVM 内存或 Threads 数持续增长不减少,并可能同时出现 Forward to master connection timed out 报错

打印 FE 线程堆栈 jstack fe_pid > fe.js,如果出现大量 mysql-cj-abandoned-connection-cleanup 线程,说明是 MySQL JDBC 驱动的问题。

按照如下方式处理:

1、升级 MySQL JDBC 驱动到 8.0.31 及以上版本
2、在 FE 和 BE conf 文件的 JAVA_OPTS 中增加 -Dcom.mysql.cj.disableAbandonedConnectionCleanup=true 参数,禁用 MySQL JDBC 驱动的连接清理功能,并重启集群

注意: 如果 Doris 的版本在 2.0.13 及以上(2.0 Release),或 2.1.5 及以上(2.1 Release)则无需增加该参数,因为 Doris 已经默认禁用了 MySQL JDBC 驱动的连接清理功能。只需更换 MySQL JDBC 驱动版本即可。但是需要重启 Doris 集群来清理掉之前的 Threads。