問題は、プロデューサスクリプトを介してクラスタ内のブローカにメッセージを送信できないことです。VagrantのKafkaクラスタ(ZK、BR、BR、BR)は接続を確立できません
セットアップはip(192.168.10.2:2181)でデフォルト設定で実行される単一の飼育係サーバーです。
さらに、3つのブローカー(192.168.10.101:9092,192.168.10.102:9092,192.168.10.103:9092)があります。
ブローカーをスピンアップした後、私は飼い猫の殻の中に3ブローカーが接続されているのを見ることができます。
vagrant ssh zookeeper-1
kafka/bin/zookeeper-shell.sh 192.168.10.2:2181
ls /brokers/ids
出力:
192.168.10.2:2181への接続はのZooKeeperへようこそ! JLineサポートが無効になっWATCHERです:: WatchedEvent状態:SyncConnectedタイプ:なし パス:ヌルLS /ブローカー/ IDS [3、2、1]
は今、私はレプリケーションでトピックを作成することができます。
kafka/bin/kafka-topics.sh --create --zookeeper 192.168.10.2:2181 --replication-factor 3 --partitions 1 --topic my-replicated-topic
を
その後私は、トピックが作成されていることを確認します。
kafka/bin/kafka-topics.sh --describe --zookeeper 192.168.10.2:2181 --topic my-replicated-topic
出力:
トピック:私の-複製さ-トピックPartitionCount:1 ReplicationFactor:3 Configsに: トピック:私の-複製され、話題パーティション:0リーダー:3レプリカ: 3,1,2 ISR:3,1,2
Iプロデューサを介してメッセージを送信するために、今しよう:
kafka/bin/kafka-console-producer.sh --broker-list 192.168.10.101:9092,192.168.10.102:9092,192.168.10.103:9092 --topic my-replicated-topic
[2017年12月28日13:53:30530] WARN【生産のclientId = CONSO le-producer]ノード-3への接続を確立できませんでした。ブローカーは ではありません。 (org.apache.kafka.clients.NetworkClient)[2017-12-28 13:53:30,536] WARN [Producer clientId = console-producer] ノード-2への接続を確立できませんでした。ブローカーが利用できない可能性があります。 (org.apache.kafka.clients.NetworkClient)[2017-12-28 13:53:30,539] WARN [Producer clientId = console-producer]ノード-1への接続は になりませんでした。ブローカーが利用できない可能性があります。私はブローカー・ボックスのいずれかからメッセージを送信しようとした場合 (org.apache.kafka.clients.NetworkClient)
同じことが起こります。
あなたは私の問題を再現することができますので、私はここVagrantfile +スクリプトをアップロード: https://github.com/0xBADBAC0N/kafka-vagrant-games
私は基本的に時間のために今Googleで検索し、そのここでは誰もが多分今その問題を解決するにはどのように願っています。私はそれがちょうど私が見ることができない設定の設定だと思います。
スタックオーバーフローは、プログラミングおよび開発の質問のサイトです。この質問は、プログラミングや開発に関するものではないので、話題にはならないようです。ヘルプセンターの[ここではどのトピックを参照できますか](http://stackoverflow.com/help/on-topic)を参照してください。おそらく、[スーパーユーザ](http://superuser.com/)や[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)の方が良いかもしれません。 – jww
@jww私はあなたの提案を見て、あなたに同意します。まだカフカに掘り起こした後、私は解決策を見つけました。ブローカーは、自分のアドレスを知っていなくても、自分の設定でリスナー= PLAINTEXT:// "$ BROKER_IP":9092 "'で定義する必要があります。これによりすべての問題が修正されました。 :) – user3614590