2015-10-13 3 views
11

私は、カフカでトピックを作成しようとしています。コマンド実行中 :カフカ作成時のエラートピック - 利用可能なブローカーより大きいレプリケーションファクター

Error while executing topic command replication factor: 1 larger than available 
brokers: 0 
kafka.admin.AdminOperationException: replication factor: 1 larger than available 
brokers: 0 
     at kafka.admin.AdminUtils$.assignReplicasToBrokers(AdminUtils.scala:70) 
     at kafka.admin.AdminUtils$.createTopic(AdminUtils.scala:171) 
     at kafka.admin.TopicCommand$.createTopic(TopicCommand.scala:93) 
     at kafka.admin.TopicCommand$.main(TopicCommand.scala:55) 
     at kafka.admin.TopicCommand.main(TopicCommand.scala) 

[2015-10-13 14:25:38,607] INFO Processed session termination for sessionid: 0x15 
06056566d0004 (org.apache.zookeeper.server.PrepRequestProcessor) 
[2015-10-13 14:25:38,608] INFO Closed socket connection for client /127.0.0.1:33 
391 which had sessionid 0x1506056566d0004 (org.apache.zookeeper.server.NIOServer 
Cnxn) 

どのように問題を解決することができます

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test 

を次のように私はエラーを取得しますか?これを始めるための良い文書ですか? ありがとうございます!

+0

明らかに0ブローカーが利用可能です。ブローカーを開始する –

答えて

0

私は同じ問題を抱えていました。 http://kafka.apache.org/documentation.html#quickstart_multibroker

私は作成されたブローカーを持っていませんでした。 2つの新しいブローカーを作成し、問題を修正します。

cp config/server.properties config/server-1.properties 
cp config/server.properties config/server-2.properties 

あなたが持っているファイルは、このいくつかの変更とそれを構成するためにすることを作成すると:これは、手順に従い

"server-1.properties" では:

broker.id=1 
port=9093 
log.dir=/tmp/kafka-logs-1 
host.name=localhost 

(ポート番号が必要

012:あなたが持っているポート番号は「server-2.properties」で

に)私は9093を書かなければならないので、9092を持っていた1 +あなたのserver.propertiesにあります

broker.id=2 
port=9094 
log.dir=/tmp/kafka-logs-2 
host.name=localhost 

(ポート番号は、server-1の次にする必要があります。私の場合9094)

3

明らかに0ブローカーが利用可能です。

4

サーバーが起動していないように思えるを試し、その後のApacheカフカのチュートリアルに

bin/zookeeper-server-start.sh config/zookeeper.properties 
bin/kafka-server-start.sh config/server.properties 

ベースでブローカーを起動し、問題

キル・プロセスのために

sudo fuser -k 2181/tcp 

実行飼育係のログをチェックし

bin/zookeeper-server-start.sh config/zookeeper.properties 

実行カフカ

bin/kafka-server-start.sh config/server.properties ' 
+0

私は同じ問題を抱えていて、これは私のために働いた。おかげでvaquar。 – Reza

2

私があなただったら、私はこのコードをしようとするだろう:

ビン/ kafka-topics.sh --create --zookeeperはlocalhost:2181 /カフカ --replication-を因子1 --partitions 1 --topic試験

あなたが飼育係は、3つのノードに分散させることクラスタを使用している場合は、direccion1:2181,direction2:2181,direction3:2181/kafka

ため localhost:2181/kafkaをsubstitueべき
0

私は同じ問題を抱えていました。私は問題を解決しました。私はバックグラウンドの立ち上げがないのでこの理由があると思います。 ので、我々は起動背景

bin/kafka-server-start.sh config/server.properties & 
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test & 
0

をニートあなたの飼育係は、あなたのZookeeprコンソールに任意のカフカbrokers.Tryログを参照することができません:bin/zkCli.sh -server localhost:2181 実行[zk: localhost:2181(CONNECTED) 2] ls /brokers/idsコンソール上。ブローカーを表示してはいけません。すべてのカフカブローカーを再起動し、カフカプロセスログを確認する必要があります。場合によっては、プロセスが実行中(ps -ef | grep kafka)として表示されても、本当に完全に起動していない可能性があります。そのため、Zookeeperはそれを見ることができません。 Apache Kafkaディストリビューション0.11.0と同じ問題がありました。

関連する問題