web-dev-qa-db-ja.com

開始中のエラーkafkaブローカー

昨日、ズーキーパーと1つのkafkaブローカーを正常にセットアップできました。すべてが期待どおりに機能しました。 kafka(ctrl + c)をシャットダウンしてから、zookeeperをシャットダウンします。

今日、私はzookeeperを起動し、kafka(bin/kafka-server-start.sh config/server0.properties)を起動すると、次のエラーが表示されます。提案されたさまざまな救済策を試しました(kafkaインストールを完全に削除し、最初からやり直しました)。それでも同じエラーが発生します。

[2016-09-28 16:15:55,895] FATAL Fatal error during KafkaServerStartable startup. Prepare to shutdown (kafka.server.KafkaServerStartable)
Java.lang.RuntimeException: A broker is already registered on the path /brokers/ids/0. This probably indicates that you either have configured a brokerid that is already in use, or else you have shutdown this broker and restarted it faster than the zookeeper timeout so it appears to be re-registering.
        at kafka.utils.ZkUtils.registerBrokerInZk(ZkUtils.scala:305)
        at kafka.utils.ZkUtils.registerBrokerInZk(ZkUtils.scala:291)
        at kafka.server.KafkaHealthcheck.register(KafkaHealthcheck.scala:70)
        at kafka.server.KafkaHealthcheck.startup(KafkaHealthcheck.scala:51)
        at kafka.server.KafkaServer.startup(KafkaServer.scala:244)
        at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:37)
        at kafka.Kafka$.main(Kafka.scala:67)
        at kafka.Kafka.main(Kafka.scala)
[2016-09-28 16:15:55,896] INFO [Kafka Server 0], shutting down (kafka.server.KafkaServer)

すべてMacで設定

9
brain storm

kafkaおよびzookeeperマルチノードクラスターのセットアップ中に同じ問題に直面しました。問題の原因は次のとおりです。zookeeperアンサンブルのセットアップに時間がかかるため、kafkaブローカー、すべてのzookeeperノードがまだアンサンブルに参加していない可能性があります。したがって、One kafkaまだアンサンブルにないzookeeperに接続されているノード。別の理由はkafkaブローカーは停止する代わりに強制終了されます。kafkaプロセスを強制終了するかクラッシュすると、そのzookeeper接続が正しく閉じられません。

この状況を回避するには、kafka=ブローカー。Zookeeperとkafkaブローカーサービスの開始と停止の間に適切な待機を追加します。

7
Shubham Jain

AWSサーバーでも同様の問題が見つかりました。問題は、zookeeperが実行されていたことです。そこで、最初にプロセスを強制終了し、再試行しましたが、うまくいきました。 $ ps aux | grep zookeeper $kill -9 <zookeeper.properties process>

3
Avinash

私は同じ問題に遭遇しました、そしてそれについて進むには2つの方法があります

  1. [推奨] zookeeperパス/ brokers/ids/[]のブローカーIDをクリーンアップする必要があります。 zk-cli tool deleteコマンドを使用して、パスをクリーンアップします。ブローカーを起動して、コーディネーターに登録されていることを確認します。
  2. これを解決するもう1つの方法は、broker-idをkafka server configから変更し、ブローカーを再起動することです。ただし、これによりパーティションとデータが破損する可能性があります
1
ephemeral972

以下のアプローチがうまくいきました。

ブローカーIDを別の値に変更します。デフォルトでは、0です。 1に変更して、もう一度テストします。

1
Ram Repaka

既定のprot _9092_が既に使用されているかどうかを確認して、kafkaサーバーが正しくシャットダウンされていることを確認してください。 _9092_のプロセスを強制終了し、kafkaサーバーを再起動します。

動作しない場合は、既存のkafkaサーバー(ブローカーID 0)が既に使用されている可能性があります。 「server0.properties」で_broker.id_を0ではなく1に変更してみてください(ところで、なぜserver0と呼ばれたのですか、ここで設定を変更しましたか?デフォルトではserver.propertiesになります)。

0
Kevin Li

Zookeeperとkafka(1つのコンテナに2つのサービスを配置することはベストプラクティスではありませんが、テスト目的でした)を含むdockerコンテナでも同様の問題がありました。

これはエラーでした

[2018-11-21 12:54:24,434] INFO [ThrottledChannelReaper-Fetch]: Starting (kafka.server.ClientQuotaManager$ThrottledChannelReaper)
[2018-11-21 12:54:24,434] INFO [ThrottledChannelReaper-Produce]: Starting (kafka.server.ClientQuotaManager$ThrottledChannelReaper)
[2018-11-21 12:54:24,435] INFO [ThrottledChannelReaper-Request]: Starting (kafka.server.ClientQuotaManager$ThrottledChannelReaper)
[2018-11-21 12:54:24,453] INFO Loading logs. (kafka.log.LogManager)
[2018-11-21 12:54:24,457] INFO Logs loading complete in 4 ms. (kafka.log.LogManager)
[2018-11-21 12:54:24,468] INFO Starting log cleanup with a period of 300000 ms. (kafka.log.LogManager)
[2018-11-21 12:54:24,469] INFO Starting log flusher with a default period of 9223372036854775807 ms. (kafka.log.LogManager)
[2018-11-21 12:54:24,694] INFO Awaiting socket connections on 0.0.0.0:9092. (kafka.network.Acceptor)
[2018-11-21 12:54:24,728] INFO [SocketServer brokerId=0] Started 1 acceptor threads (kafka.network.SocketServer)
[2018-11-21 12:54:24,741] INFO [ExpirationReaper-0-Produce]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper)
[2018-11-21 12:54:24,741] INFO [ExpirationReaper-0-DeleteRecords]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper)
[2018-11-21 12:54:24,741] INFO [ExpirationReaper-0-Fetch]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper)
[2018-11-21 12:54:24,750] INFO [LogDirFailureHandler]: Starting (kafka.server.ReplicaManager$LogDirFailureHandler)
[2018-11-21 12:54:24,790] INFO Creating /brokers/ids/0 (is it secure? false) (kafka.zk.KafkaZkClient)
[2018-11-21 12:54:24,802] ERROR Error while creating ephemeral at /brokers/ids/0, node already exists and owner '72057672936325120' does not match current session '72057674644258816' (kafka.zk.KafkaZkClient$CheckedEphemeral)
[2018-11-21 12:54:24,803] INFO Result of znode creation at /brokers/ids/0 is: NODEEXISTS (kafka.zk.KafkaZkClient)
[2018-11-21 12:54:24,808] ERROR [KafkaServer id=0] Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
org.Apache.zookeeper.KeeperException$NodeExistsException: KeeperErrorCode = NodeExists
    at org.Apache.zookeeper.KeeperException.create(KeeperException.Java:122)
    at kafka.zk.KafkaZkClient.checkedEphemeralCreate(KafkaZkClient.scala:1525)
    at kafka.zk.KafkaZkClient.registerBrokerInZk(KafkaZkClient.scala:84)
    at kafka.server.KafkaServer.startup(KafkaServer.scala:257)
    at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:38)
    at kafka.Kafka$.main(Kafka.scala:75)
    at kafka.Kafka.main(Kafka.scala)

クイックフィックスは、数秒後にkafka-serverを起動することでした。

bin/zookeeper-server-start.sh -daemon config/zookeeper.properties && (bin/kafka-server-start.sh config/server.properties || echo "kafka start failed. restarting ... " && sleep 3 && bin/kafka-server-start.sh config/server.properties)
0
robie2011