web-dev-qa-db-fra.com

Redémarrage kafka Connectez-vous et connecteurs source à lire du début

J'ai beaucoup cherché à ce sujet, mais il ne semble pas y avoir de bon guide autour de cela.

D'après ce que j'ai cherché, il y a quelques points à considérer:

  • Réinitialisation des sujets internes du connecteur d'évier (statut, configuration et décalage).
  • La mise en œuvre des compensations du connecteur source est spécifique à la mise en œuvre.

Question: Y a-t-il même besoin de réinitialiser ces sujets?

  • Suppression du groupe de consommateurs.
  • Redémarrage du connecteur avec un nom différent (c'est aussi une option) mais cela ne semble pas être la bonne chose à faire.
  • Réinitialisation du groupe de consommateurs à --reset-offsets à --to-earliest
  • En utilisant le REST API (le contient-il fournit la fonctionnalité de réinitialiser et de lire depuis le début)

Quelle serait la meilleure façon de redémarrer à la fois un évier et un connecteur source à lire du début?

10
el323

Mode Distribué du connecteur de source - a une autre option qui produit un nouveau message à la rubrique décalée. Par exemple, j'utilise JDBC Source Connector: lorsque vous regardez sur la sucette de décalage, je vois ce qui suit:

./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}

Maintenant, afin de réinitialiser cela, je viens de produire un autre message avec incrémentation: 0

Par exemple: Comment produire de la coquille avec la clé d'ici

./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}

Veuillez noter que vous devez procéder comme suit:

  • Supprimer le connecteur.
  • Produire un message avec le décalage correspondant comme je l'ai décrit ci-dessus.
  • Créez le connecteur à nouveau.
0
Ehud Lev