Restart kafka connect sink and source connectors to read from beginning

Source Connector:

  • Standalone mode: remove offset file (/tmp/connect.offsets) or change connector name.
  • Distributed mode: change name of the connector.

Sink Connector (both modes) one of the following methods:

  • Change name.
  • Reset offset for the Consumer group. Name of the group is same as Connector name.

To reset offset you have to first delete connector, reset offset (./bin/kafka-consumer-groups.sh --bootstrap-server :9092 --group connectorName --reset-offsets --to-earliest --execute --topic topicName), add same configuration one more time

You can check following question: Reset the JDBC Kafka Connector to start pulling rows from the beginning of time?


Source connector Distributed mode - has another option which is producing a new message to the offset topic. For example I use jdbc source connector: When looking on the offset topic I see the following:

./kafka-console-consumer.sh --zookeeper localhost:2181/kafka11-staging --topic kc-staging--offsets --from-beginning --property print.key=true

["referrer-family-jdbc-source",{"query":"query"}]   {"incrementing":100}

Now in order to reset this I just produce another message with incrementing:0

For example: how to produce from shell with key from here

./kafka-console-producer.sh \
  --broker-list `hostname`:9092 \
  --topic kc-staging--offsets \
  --property "parse.key=true" \
  --property "key.separator=|"
["referrer-family-jdbc-source",{"query":"query"}]|{"incrementing":0}

Please note that you need to do the following:

  • Delete the connector.
  • Produce a message with the relevant offset as I described above.
  • Create the connector again.