クラスタのubuntuノードにkafka 0.11.0.0インスタンスを設定しました。数週間前まではすべて正常に機能していましたが、今日は起動しようとしていますが、ブート後にこのエラーが発生します。
[2017-09-11 16:21:13,894] INFO [Kafka Server 0], started (kafka.server.KafkaServer)
[2017-09-11 16:21:18,998] WARN Connection to node 0 could not be established. Broker may not be available. (org.Apache.kafka.clients.NetworkClient)
[2017-09-11 16:21:21,991] WARN Connection to node 0 could not be established. Broker may not be available. (org.Apache.kafka.clients.NetworkClient)
... and so on...
私のserver.properties:
############################# Server Basics #############################
# The id of the broker. This must be set to a unique integer for each broker.
broker.id=0
# Switch to enable topic deletion or not, default value is false
delete.topic.enable=true
############################# Socket Server Settings ##########################$
# The address the socket server listens on. It will get the value returned from
# Java.net.InetAddress.getCanonicalHostName() if not configured.
# FORMAT:
# listeners = listener_name://Host_name:port
# EXAMPLE:
# listeners = PLAINTEXT://your.Host.name:9092
#listeners=PLAINTEXT://9092
# Hostname and port the broker will advertise to producers and consumers. If no$
# it uses the value for "listeners" if configured. Otherwise, it will use the $
# returned from Java.net.InetAddress.getCanonicalHostName().
advertised.listeners=PLAINTEXT://hidden_ip:55091
要求をブローカーにリダイレクトするプロキシがあるため、advertised.listenersを編集しました。とにかく数週間前まではすべてうまくいきました...
カフカを始める私のステップ:
1- service zookeeper start
2- ./kafka_2.11-0.11.0.0/bin/kafka-server-start.sh ~/kafka_2.11-0.11.0.0/config/server.properties
何かアドバイスはありますか?ありがとうございました
私も同じ問題を抱えていました...
だから私はZookeeperにいくつかのデータを尋ねることから始めます
echo dump | nc localhost 2181
私はこのようなものを取り戻します
SessionTracker dump:
Session Sets (3):
0 expire at Sun Dec 03 18:15:48 GST 2017:
0 expire at Sun Dec 03 18:15:51 GST 2017:
1 expire at Sun Dec 03 18:15:54 GST 2017:
0x1601c9a25190000
ephemeral nodes dump:
Sessions with Ephemerals (1):
0x1601c9a25190000:
/controller
/brokers/ids/0
私はこれを読んで、利用可能なブローカーが1つあることを意味します-そしてそれは0のIDを持っています。
だから、そのブローカーについて見つけることができます。
bin/zookeeper-Shell.sh localhost:2181 <<< "get /brokers/ids/0"
なるほど
{"listener_security_protocol_map":{"PLAINTEXT":"PLAINTEXT"},"endpoints":["PLAINTEXT://192.168.1.220:9092"],"jmx_port":-1,"Host":"192.168.1.220","timestamp":"1512308520781","port":9092,"version":4}
cZxid = 0x69
ctime = Sun Dec 03 17:42:00 GST 2017
mZxid = 0x69
mtime = Sun Dec 03 17:42:00 GST 2017
pZxid = 0x69
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x1601c9a25190000
dataLength = 196
numChildren = 0
これはむしろ私を驚かせました... PLAINTEXT://192.168.1.220:9092
bin/kafka-console-producer.sh --broker-list PLAINTEXT://192.168.1.220:9092 --topic test
これですべてうまくいきました。
幸運を !!
この行のコメントを外します
listeners = PLAINTEXT://:9092
これをに変更しました
listeners = PLAINTEXT://127.0.0.1:9092
エラーの実際の原因についてログを検索し始めたとき、同じ状況に直面しました。
Kafkaクラスターを開始したとき、デフォルトで使用されていました
listeners=PLAINTEXT://:9092
接続し、ホストを見つけることができませんでした。
行を次のように変更しました
listeners=PLAINTEXT://<our ip address> :9092,
それから
listeners=PLAINTEXT://<our ip address> :9093,
server-1.properties(別のブローカーIDファイル)で、他のserver.propertiesファイルで複製し、クラスターを再起動しました。
kafka server.propertiesのリスナーをlisteners=PLAINTEXT://**10.127.96.151**:9092
しかし、私は消費者に./kafka-console-consumer.sh --bootstrap-server **localhost**:9092 --topic topic1 --from-beginning
、その後、WARNをバーストします。
コンシューマブートストラップサーバーを10.127.96.151:9092として修正すると、警告なしで正常に動作します
Server.propertes:
listeners=PLAINTEXT://hidden_ip:9092
私が実行するとき:bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic lt1 bin/kafka-console-producer.sh --broker-list localhost:9092 --topic lt1
あなたと同じエラーが表示されます。実行してみます:
bin/kafka-console-producer.sh --broker-list hidden_ip:9092 --topic lt1
それは動作し、エラーは発生しません。
だから、ポートがkafkaサーバーが使用されている。
PS:これを同じマシンで実行します。
私もWINDOWS 10で同じ問題に直面し、この投稿のすべての答えを調べました。私にとってこの問題の原因と解決方法はこれです、私の新しいWindowsマシンでjre(jre-8u221)をインストールし、Apache Kafka documentationに記載されている手順を開始しましたzookeeper、kafka server、プロデューサーなどを介してメッセージを送信します。しかし、ブローカーが利用できないことに関連するエラーが発生していました。その後、jdk(Oracleのjdk-8u221)をダウンロードしてインストールしました。Java_HOMEを設定し、変数をパスし、マシンを再起動します。