Estoy usando Confluent 3.2 en un conjunto de contenedores Docker, uno de los cuales ejecuta un trabajador de conexión kafka.
Por razones que aún no me quedan claras, dos de mis cuatro conectores (para ser específicos, el conector receptor MongoDB de hpgraphsl) dejaron de funcionar. Pude identificar el problema principal: los conectores no tenían ninguna tarea asignada, como se podía ver llamando a GET /connectors/{my_connector}/status . Los otros dos conectores (del mismo tipo) no se vieron afectados y producían felizmente la salida.
Probé tres métodos diferentes para que mis conectores vuelvan a funcionar a través de la API REST:
Ninguno de los métodos funcionó. Finalmente conseguí que mis conectores funcionaran de nuevo:
my_connector_v2 en lugar de my_connector¿Que esta pasando aqui? ¿Por qué no puedo reiniciar mi conector existente y hacer que inicie una tarea real? ¿Hay algún dato obsoleto en el trabajador de kafka-connect o en algún tema relacionado con kafka-connect en los corredores de Kafka que deba limpiarse?
Presenté un problema en el repositorio de github del conector específico, pero siento que esto podría ser un error general relacionado con los aspectos intrínsecos de kafka-connect. ¿Algunas ideas?
Me he enfrentado a este problema. Si los recursos son menores para que se inicie SinkTask o SourceTask, esto puede suceder.
La memoria asignada al trabajador puede ser menor en algún momento. Por defecto, a los trabajadores se les asignan 250 MB. Por favor aumente esto. A continuación se muestra un ejemplo para asignar 2 GB de memoria para el trabajador que se ejecuta en modo distribuido.
KAFKA_HEAP_OPTS="-Xmx2G" sh $KAFKA_SERVICE_HOME/connect-distributed $KAFKA_CONFIG_HOME/connect-avro-distributed.properties