私はこれを2週間試しており、Kafkaクラスターを接続ノードとは別のマシンで実行しています。接続を正常に実行できません。 kafkaの読み取りと書き込みは問題ありません。 Zookeeperは正常に動作しているようです。
Connectを起動します。
$ bin/connect-distributed connect-distributed.properties
接続はこのエラーをループし続けます:
[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)
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
__Consumer_offsetsトピックは次のようになります。
/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
Goでコネクタを作成した後、同じ問題に遭遇しました。私は自分で解決することを余儀なくされました。
コネクターがkafkaに接続すると、トピックと__offset_topics
。コネクタがクラッシュすると、それらのテーブルに自身の痕跡をコーディネーターとして残します。新しいコネクタが起動すると、テーブル内のレコードが検出され、コーディネーターとの通信が試行されます。コーディネーターは応答に失敗し、コネクターは機能しません。
これは2つの方法のいずれかで修正できます。すべてのトピックを削除(connect-configs
、connect-offsets
、connect-status
、__offset_topics
)クラスターを再起動します。もう1つの方法は、トピックからコーディネーターを削除することです。これは、現在どのように実行するのかわかりません。
すべてのホスト名kafka=ブローカーを/ etc/hostsファイルに追加し、再試行します