首页 > 解决方案 > 出现异常:在使用 RollingUpdate 部署策略在 kubernetes 上部署服务时,“复制槽“XXX”对 PID XXX` 处于活动状态”

问题描述

我有一个应用程序,它使用 debezium-postgres 连接器从 postgres 在 kafka 上发布事件。如果 kubernetes 部署策略是 Recreate,则应用程序运行良好。 但是在使用 RollingUpdate 部署策略时抛出异常

应用程序正在使用 PGOUTPUT debezium 插件,一些 postgres 配置如下:

max_wal_senders = 4
max_replication_slots = 4
wal_level = logical
wal_receiver_timeout = 300s
wal_sender_timeout = 300s

是否有任何配置可能有助于解决此问题?

标签: postgresqlkubernetesapache-kafkaapache-kafka-connectdebezium

解决方案


您不能使用相同的复制槽启动两个 WAL 发送方进程。

如果您需要两个客户端来运行逻辑解码,请创建两个复制槽。否则,请确保在连接之前停止使用复制槽的任何客户端。


推荐阅读