2015-10-13 7 views
11

Я пытаюсь создать темы в Kafka, следуя руководству на веб-сайте Apache Kafka через командную строку. При выполнении команды:Ошибка при создании Kafka Темы- Фактор репликации больше доступных брокеров

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

я получаю ошибку следующим образом:

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) 

Как я могу решить эту проблему? Любая хорошая документация, чтобы начать с этого? Спасибо!

+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 

(номер порта должен номер порта, который у вас есть на вашем сервере. Свойства 1. У меня было 9092, поэтому мне нужно написать 9093)

В «server-2.properties»:

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

(Номер порта должен быть рядом с сервером-1. В моем случае 9094)

3

В нем четко сказано, что имеется 0 брокер. Запуск брокера по

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

базы на учебник Apache Кафки попробуйте

4

Похоже, ваш сервер не запускается, проверьте журналы для выпуска

убийство процесса

sudo fuser -k 2181/tcp 

запустить Zookeeper

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

Run Кафка

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

У меня была такая же проблема, и это сработало для меня. спасибо вакуар. – Reza

2

Если бы я тебя, я хотел бы попробовать этот код:

бен/kafka-topics.sh --create --zookeeper локальный: 2181/Кафка --replication- фактор 1 --partitions 1 --topic тест

Если вы используете кластер, в котором будет распределен зоопарк в 3-х узлах вы должны substitue localhost:2181/kafka для direccion1:2181,direction2:2181,direction3:2181/kafka

0

У меня была та же проблема. Я решаю проблему. Я думаю, причина в том, что нет фонового запуска. так, мы NEET старт-ап фона

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

Ваш Zookeeper не может видеть любое протоколирование Кафки brokers.Try в консоль Zookeepr: bin/zkCli.sh -server localhost:2181 Выполнить [zk: localhost:2181(CONNECTED) 2] ls /brokers/ids на консоли. Не должно быть никаких брокеров. Вам необходимо перезапустить все ваши брокеров Kafka и проверить журнал процесса kafka. Иногда, даже когда процесс отображается как работающий (ps -ef | grep kafka), он, возможно, совсем не запускался полностью, из-за чего Zookeeper не может его увидеть. У меня была та же проблема с дистрибутивом Apache Kafka 0.11.0.

Смежные вопросы