web-dev-qa-db-fra.com

Mode distribué Kafka Connect Le coordinateur de groupe n'est pas disponible

Cela fait deux semaines que j'essaie de le faire. J'utilise le cluster Kafka sur des machines distinctes de celles de mes nœuds de connexion. Je ne parviens pas à me connecter correctement. Je peux lire et écrire à Kafka sans problème. Zookeeper semble bien fonctionner.

Je lance connect:

$ bin/connect-distributed connect-distributed.properties

Connect continue de boucler avec cette erreur:

[2018-08-21 15:45:12,161] INFO [Worker clientId=c1, groupId=connect-cluster] Discovered group coordinator 172.25.1.2:9092 (id: 2147483645 rack: null) (org.Apache.kafka.clients.consumer.internals.AbstractCoordinator:677)
[2018-08-21 15:45:12,163] INFO [Worker clientId=c1, groupId=connect-cluster] (Re-)joining group (org.Apache.kafka.clients.consumer.internals.AbstractCoordinator:509)
[2018-08-21 15:45:12,165] INFO [Worker clientId=c1, groupId=connect-cluster] Group coordinator 172.25.1.2:9092 (id: 2147483645 rack: null) is unavailable or invalid, will attempt rediscovery (org.Apache.kafka.clients.consumer.internals.AbstractCoordinator:729)
[2018-08-21 15:45:12,266] INFO [Worker clientId=c1, groupId=connect-cluster] Discovered group coordinator 172.25.40.219:9092 (id: 2147483645 rack: null) (org.Apache.kafka.clients.consumer.internals.AbstractCoordinator:677)
[2018-08-21 15:45:12,267] INFO [Worker clientId=c1, groupId=connect-cluster] Group coordinator 172.25.1.2:9092 (id: 2147483645 rack: null) is unavailable or invalid, will attempt rediscovery (org.Apache.kafka.clients.consumer.internals.AbstractCoordinator:729)

Voici à quoi ressemble mon fichier connect-distributed.properties:

bootstrap.servers=172.25.1.2:9092,172.25.1.3:9092,172.25.1.4:9092
group.id=connect-cluster

key.converter=org.Apache.kafka.connect.json.JsonConverter
value.converter=org.Apache.kafka.connect.json.JsonConverter
key.converter.schemas.enable=false
value.converter.schemas.enable=false

offset.storage.topic=connect-offsets
offset.storage.replication.factor=3
offset.storage.partitions=3

config.storage.topic=connect-configs
config.storage.replication.factor=3

status.storage.topic=connect-status
status.storage.replication.factor=3
status.storage.partitions=3

offset.flush.interval.ms=10000

rest.Host.name=172.25.1.5
rest.port=8083

heartbeat.interval.ms=3000
session.timeout.ms=30000
security.protocol=PLAINTEXT
client.id=c1

plugin.path=/usr/share/Java

La rubrique __Consumer_offsets ressemble à ceci:

/opt/kafka/bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic __consumer_offsets                                       
Topic:__consumer_offsets        PartitionCount:50       ReplicationFactor:3     Configs:segment.bytes=104857600,cleanup.policy=compact,compression.type=producer
    Topic: __consumer_offsets       Partition: 0    Leader: 2       Replicas: 1,2,3 Isr: 3,2
    Topic: __consumer_offsets       Partition: 1    Leader: 2       Replicas: 1,2,3 Isr: 3,2
    Topic: __consumer_offsets       Partition: 2    Leader: 2       Replicas: 1,2,3 Isr: 3,2
    Topic: __consumer_offsets       Partition: 3    Leader: 1       Replicas: 1     Isr: 1
    Topic: __consumer_offsets       Partition: 4    Leader: 2       Replicas: 2     Isr: 2.... etc
7
ldrrp

Après avoir écrit un connecteur dans Go, je suis tombé sur le même problème. J'ai été obligé de le résoudre moi-même. 

Lorsqu'un connecteur se connecte à kafka, il écrit automatiquement dans les rubriques et dans __offset_topics. Lorsqu'un connecteur tombe en panne, il laisse une trace de lui-même dans ces tables en tant que coordinateur. Lorsqu'un nouveau connecteur démarre, il trouve l'enregistrement dans la table et tente de communiquer avec le coordinateur. Le coordinateur ne répond pas et le connecteur ne fonctionne jamais.

Vous pouvez résoudre ce problème de deux manières: supprimez toutes les rubriques (connect-configs, connect-offsets, connect-status, __offset_topics) et redémarrez le cluster. L’autre méthode consiste à supprimer le coordinateur des rubriques, ce que je ne sais pas actuellement comment exécuter.

1
ldrrp

ajoutez le nom d'hôte de tous les courtiers kafka à votre fichier/etc/hosts et réessayez

0
kite