2015-10-13 14 views
11

Sto cercando di creare argomenti in Kafka seguendo la guida sul sito Web di Apache Kafka tramite la riga di comando. Durante l'esecuzione del comando:Errore durante la creazione degli argomenti di Kafka - Fattore di replica maggiore dei broker disponibili

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

ottengo l'errore come segue:

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) 

Come posso risolvere il problema? Qualche buona documentazione per iniziare con questo? Grazie !!

+0

Dice chiaramente che 0 broker è disponibile. Avvia un broker entro il –

risposta

0

Ho avuto lo stesso problema. Devi seguire questa parte della guida: http://kafka.apache.org/documentation.html#quickstart_multibroker

Non avevo alcun broker creato. Crea 2 nuovi broker e risolvi il problema. Seguire questa procedura:

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

Una volta creato che i file è necessario configurarlo con questa alcune modifiche:

In "server-1.properties":

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

(numero di porta deve essere il numero di porta che hai nel tuo server.proprietà + 1. Avevo 9092 quindi devo scrivere 9093)

In "server-2.properties":

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

(Il numero di porta deve essere il successivo al server-1. Nel mio caso 9094)

3

Indica chiaramente che 0 broker è disponibile. Avviare un broker

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

base sul tutorial di Apache Kafka quindi provare

4

Sembra come il server non avviato, controllare i registri per il rilascio

processo

Uccidi

sudo fuser -k 2181/tcp 

run Zookeeper

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

Run Kafka

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

Ho avuto lo stesso problema e questo ha funzionato per me. grazie vaquar. – Reza

2

Se fossi in te cercherei di questo codice:

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

Se si utilizza un cluster in cui guardiano dello zoo essere distribuito in 3 nodi si dovrebbe substitue localhost:2181/kafka per direccion1:2181,direction2:2181,direction3:2181/kafka

0

Ho avuto lo stesso problema. Risolve il problema. Penso che la ragione di ciò sia dovuta al fatto che non è stato avviato lo sfondo. così, abbiamo NEET sfondo start-up

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

tuo Zookeeper non è in grado di vedere qualsiasi registrazione Kafka brokers.Try in alla console Zookeepr: bin/zkCli.sh -server localhost:2181 Eseguire [zk: localhost:2181(CONNECTED) 2] ls /brokers/ids sulla console. Deve essere non mostrare alcun broker. Devi riavviare tutti i tuoi broker Kafka e controllare il log del processo di kafka. A volte, anche quando il processo è in esecuzione (ps -ef | grep kafka), potrebbe non essere stato avviato completamente, a causa del quale Zookeeper non è in grado di vederlo. Ho avuto lo stesso problema con la distribuzione di Apache Kafka 0.11.0.