KafkaConnect no puede cargar el plugin.
Estoy desplegando KafkaCluster, KafkaConnect en K8s utilizando Strimzi.
- Imagen del Clúster del Operador Strimzi: quay.io/strimzi/operator:0.26.1
- Imagen de Kafka: quay.io/strimzi/kafka:0.26.1-kafka-3.0.0.
Estoy tratando de configurar KafkaConnector que se conecta a una base de datos de Postgres.
Estos son mis pasos:
- Construir un nuevo KafkaConnect a partir de esta imagen ‘quay.io/strimzi/kafka:0.26.1-kafka-3.0.0’. Esta nueva imagen tiene un complemento que descargo desde este enlace ‘https://debezium.io/documentation/reference/stable/connectors/postgresql.html#postgresql-deployment’
- Ejecuto esta nueva imagen en K8s, luego ingreso al contenedor de KafkaConnect. Tiene el complemento correctamente (‘/opt/kafka/plugins/debezium/debezium-connector-postgres’):
- Creo un KafkaConnector que hace referencia a la clase ‘io.debezium.connector.postgresql.PostgresConnector’:
apiVersion: "kafka.strimzi.io/v1beta2"
kind: "KafkaConnector"
metadata:
name: dev-approvalflowservice-connector
labels:
strimzi.io/cluster: postgres-connect-cluster-1
spec:
class: io.debezium.connector.postgresql.PostgresConnector
tasksMax: 2
config:
database.hostname: 10.14.101.204
database.port: "5432"
database.user: "debezium"
database.password: "debezium"
database.dbname: "approvalflowservice"
database.server.name: "approvalflowservice"
plugin.name: "pgoutput"
slot.name: "approvalflowserviceslot"
truncate.handling.mode: "include"
table.include.list: "public.approval_flow"
- El problema es que KafkaConnect no puede cargar el complemento que ya agregué a la nueva imagen de KafkaConnect. Registro de KafkaConnect: log
Actualización
- Intenté cambiar la ubicación del complemento dentro de la nueva imagen de KafkaConnect (‘/opt/kafka/plugins/debezium-connector-postgres’):
- El problema es el mismo: log
Gracias a todos.
davy.ai
Solución de problemas en la configuración del complemento KafkaConnect en un clúster de Strimzi Operator
Contexto
Como experto en IT especializado en Apache Kafka, Apache Kafka-Connect, Debezium y Strimzi, he implementado KafkaCluster y KafkaConnect en K8s utilizando la imagen del clúster del operador Strimzi:
quay.io/strimzi/operator:0.26.1
e imagen de Kafka:quay.io/strimzi/kafka:0.26.1-kafka-3.0.0
. Sin embargo, me enfrento a un problema al configurar KafkaConnector que se conecta a la base de datos de Postgres.Problema
KafkaConnect no carga el complemento incluso después de agregarlo en la nueva imagen de KafkaConnect.
Solución
quay.io/strimzi/kafka:0.26.1-kafka-3.0.0
. Esta nueva imagen debe tener el complemento descargable desde este enlace https://debezium.io/documentation/reference/stable/connectors/postgresql.html#postgresql-deployment.Ejecute esta nueva imagen en K8s y luego ejecute el contenedor KafkaConnect. Verifique si el complemento se encuentra correctamente en
/opt/kafka/plugins/debezium/debezium-connector-postgres
.Cree un nuevo KafkaConnector como se muestra en el fragmento de código a continuación. Debe hacer referencia a la clase
io.debezium.connector.postgresql.PostgresConnector
.Intente cambiar la ubicación del complemento dentro de la nueva imagen de KafkaConnect a
/opt/kafka/plugins/debezium-connector-postgres
.Si el problema persiste, comparta los registros de conexión para seguir investigando.
Espero que esto ayude a resolver el problema. Si tiene alguna pregunta o inquietud, hágamelo saber.