Kafkaデプロイメント2



Kafka Deployment Two



それでは、テストして、kafkaの組み込みコマンドラインツールを使用してデータを送信しましょう。問題があります。

bin/kafka-console-producer.sh --broker-list 10.149.11.151:9092 --topic vehicle_test[2015-09-05 14:18:50,877] WARN Property topic is not valid (kafka.utils.VerifiableProperties)

kafkaにメッセージを追加できません。エラーは、リーダーが無効です。



消費者と一緒に読んだ後も間違っています

bin/kafka-console-consumer.sh --zookeeper 10.149.11.146:2181/vehicle_kafka --from-beginning --topic vehicle_test[2015-09-05 14:41:07,630] WARN [console-consumer-72151_10-149-11-147-1441435267500-9d20d013], no brokers found when trying to rebalance. (kafka.consumer.ZookeeperConsumerConnector)
このため、kafkaのFAQを参照してください。

https://cwiki.apache.org/confluence/display/KAFKA/FAQ



消費者/プロデューサーがブローカーに接続できないのはなぜですか?

ブローカーが起動すると、そのIP /ポートがZKに登録されます。登録されたIPが、プロデューサー構成のmetadata.broker.listにリストされているものと一致していることを確認する必要があります。デフォルトでは、登録されたIPはInetAddress.getLocalHost.getHostAddressによって指定されます。通常、これはホストの実際のIPを返す必要があります。ただし、場合によっては(EC2など)、返されるIPは内部IPであり、外部から接続できないことがあります。解決策は、server.propertiesの「hostname」プロパティを設定して、ホストIPをZKに登録するように明示的に設定することです。バインディングホスト/ポートがクライアント接続用のホスト/ポートと異なる別のまれなケースでは、クライアント接続用にadvertised.host.nameおよびadvertised.portを設定できます。


server.propertiesを開くと、kafkaがInetAddress.getLocalHost.getHostAddress APIからIPアドレスを取得するため、host.nameとadvertised.host.nameがデフォルトで無効になっていることがわかります。ただし、このAPIは正しいIPアドレスを取得できない場合があります。たとえば、ここでlocalhostを取得してから、zookeeperに入力します。

[zk: localhost:2181(CONNECTED) 24] get /vehicle_kafka/brokers/ids/148{'jmx_port':-1,'timestamp':'1441377326345','host':'localhost','version':1,'port':9092}cZxid = 0x2cctime = Fri Sep 04 22:35:26 CST 2015mZxid = 0x2cmtime = Fri Sep 04 22:35:26 CST 2015pZxid = 0x2ccversion = 0dataVersion = 0aclVersion = 0ephemeralOwner = 0x14f976bd628000adataLength = 86numChildren = 0
my-server.propertiesファイルで、次のようにhost.nameを有効にします。# Hostname the broker will bind to. If not set, the server will bind to all interfaces host.name=10.149.11.147
kafkaサーバーを再起動すると、zookeeperの構成が復元されます。 [zk: localhost:2181(CONNECTED) 27] get /vehicle_kafka/brokers/ids/147{'jmx_port':-1,'timestamp':'1441438553787','host':'10.149.11.147','version':1,'port':9092}cZxid = 0x8dctime = Sat Sep 05 15:35:53 CST 2015mZxid = 0x8dmtime = Sat Sep 05 15:35:53 CST 2015pZxid = 0x8dcversion = 0dataVersion = 0aclVersion = 0ephemeralOwner = 0x14f976bd6280021dataLength = 90numChildren = 0

もう一度テストしてください。警告情報はまだありますが、データを読み取ることができます。



# bin/kafka-console-consumer.sh --zookeeper 10.149.11.146:2181/vehicle_kafka --from-beginning --topic vehicle_testhelloworld

Kafkaには多くのトピックがあり、以下を参照できます。

https://cwiki.apache.org/confluence/display/KAFKA/FAQ


このシリーズでは、実際に発生する問題の詳細については後で説明します。



次に、私の先生である神の人工知能チュートリアルを共有します。ゼロベース!わかりやすい!ユーモラス!黄色の段落も!私たちの人工知能チームにもぜひご参加ください。 https://blog.csdn.net/jiangjunshow