2016-09-28 21 views
4

昨日、動物園とカフカブローカーを正常にセットアップできました。すべてが期待どおりに機能しました。私はkafka(ctrl + c)をシャットダウンし、その後、動物園をシャットダウンします。kafkaブローカーの起動中にエラーが発生しました

今日私は飼い犬飼いを始めました。私がkafka(bin/kafka-server-start.sh config/server0.properties)を始めたとき、私は次のエラーを受け取ります。私は様々な救済策を提案しました(私のカフカの設置を完全に取り除き、最初からやり直す)。それでも私は同じエラーが発生します。

[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

答えて

0

で設定はすべて、デフォルトのprot 9092をチェックすることにより、正常にシャットダウンカフカサーバがすでに使用されているかどうかを確認してください。 9092で処理を終了し、kafkaサーバーを再起動します。

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

-3

zookeeper-server-stop.[sh|bat]スクリプトを実行するだけです。

1

アップ投票私は同じ問題に出くわしたとについて移動する2つの方法があり、それ

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

私のAWSサーバーで同様の問題が見つかりました。飼い猫が走っていたのが問題でした。だから私は最初にプロセスを抹殺して、もう一度試してみました。 $ ps aux | grep zookeeper $kill -9 <zookeeper.properties process>

+0

これは私のローカルマシン上で起こった私のために。私は起動時に一連のドッカーコマンドを実行していました。そのうちの1つは、私が気づいていなかった、飼い猫だった。一旦私がドッカーのプロセスを抹殺すると、私は自分の飼い犬飼い主を始められ、その後カフカのサーバーが働きました。 –

2

私はkafkaとzookeeperのマルチノードクラスタを設定する際に同じ問題に直面しました。 zookeeperアンサンブルは設定に時間がかかります。カフカブローカーを開始すると、すべての飼育係ノードがまだアンサンブルに参加していない可能性があります。 アンケートにまだ含まれていない飼育係に接続されているカフカノードが1台ある可能性があります。 もう一つの理由は、カフカブローカーが停止されずに殺されるという理由があります。 カフカプロセスを強制終了するかクラッシュすると、飼育係の接続を正しく終了しません

このような状況を避けるには、カフカブローカーを開始する前に動物園のアンサンブルが起動していることを確認してください。 zookeeperとkafka brokerサービスの間で適切な待ち時間を追加して開始し、停止します。

+0

しかし、問題が発生したら、どのように修正しますか? –

1

あなたはconfig/zookeeper.properties

# the directory where the snapshot is stored. 
dataDir=/tmp/zookeeper 

を見ることができます。

だから、ZK &カフカを再起動する前に、飼育係のスナップショットを削除することを忘れないでください:

rm -rf /tmp/zookeeper 

その後、すべてがOKです:D

関連する問題