web-dev-qa-db-ja.com

kafka=ブローカーは開始時に利用できません

クラスタの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

何かアドバイスはありますか?ありがとうございました

11
Akinn

私も同じ問題を抱えていました...

だから私は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

これですべてうまくいきました。

幸運を !!

12
Tim Seed

この行のコメントを外します

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ファイルで複製し、クラスターを再起動しました。

7
Deepan Ram

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として修正すると、警告なしで正常に動作します

3
touchstone

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:これを同じマシンで実行します。

1
AlexYu

私もWINDOWS 10で同じ問題に直面し、この投稿のすべての答えを調べました。私にとってこの問題の原因と解決方法はこれです、私の新しいWindowsマシンでjre(jre-8u221)をインストールし、Apache Kafka documentationに記載されている手順を開始しましたzookeeper、kafka server、プロデューサーなどを介してメッセージを送信します。しかし、ブローカーが利用できないことに関連するエラーが発生していました。その後、jdk(Oracleのjdk-8u221)をダウンロードしてインストールしました。Java_HOMEを設定し、変数をパスし、マシンを再起動します。

0
HS.