Почему я не могу создать тему в Кафке? - PullRequest
0 голосов
/ 07 февраля 2019

Следуя Руководству по быстрому запуску Apache Kafka , я проделал следующие шаги:

  • Загрузка и распаковка kafka_2.11-2.1.0.tgz
  • cd kafka_2.11-2.1.0
  • bin/zookeeper-server-start.sh config/zookeeper.properties
  • В другом терминале тот же каталог, bin/kafka-server-start.sh config/server.properties
  • bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test.Запуск echo $? впоследствии показывает, что эта команда завершилась со статусом 0

Теперь настал момент истины.Руководство говорит:

Теперь мы можем увидеть эту тему, если запустим команду list topic:

bin/kafka-topics.sh --list --zookeeper localhost:2181
> test

Однако я не получаю вывод от этой команды, ичасть программного обеспечения, которую я тестирую, которая пытается отправить сообщение по теме "test", вылетает, потому что находит 0 разделов для темы.

У меня также есть программа Ruby, которая отправляет сообщения Кафке натема "test".Он терпит неудачу и повторяет попытку, и я вижу тему, созданную на тот момент в журналах Kafka, и могу отправлять ему сообщения.Но даже тогда команда для перечисления тем ничего не возвращает.

Почему я не могу создать тему явно?Почему я не могу перечислить темы, созданные по требованию?Как я могу устранить эту проблему?


Журналы

Вот что я вижу в журналах: https://gist.github.com/nathanl/bea7a45a056b2d44146947ec88c29185

Ответы [ 3 ]

0 голосов
/ 07 июля 2019

Я столкнулся с той же проблемой.Однако я обнаружил, что содержимое сценария bin / kafka-topics.sh пусто после команды untar.

Итак, я снова скачал kafka, untar и проверял содержимое файла скрипта, пока не увидел его там, тогда он работает.

0 голосов
/ 02 августа 2019

Я столкнулся с той же проблемой.

Сначала проверьте, есть ли в bin/kafka-topics.sh какое-либо содержимое.

Затем продолжите и очистите все данные tmp от zookeeper и kafka

rm -r /tmp/zookeeper

rm -r /tmp/kafka-log

Затем снова запустите зоокейпера и кафку.

0 голосов
/ 07 февраля 2019

На Mac 10.13.6 я выполнил те же шаги, вот несколько шагов по устранению неполадок, которые вы можете проверить.

Когда вы запускаете Zookeeper, вы должны видеть в stdout:

INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory)

Когда вы запускаете Kafka, вы должны видеть в stdout:

INFO Awaiting socket connections on 0.0.0.0:9092. (kafka.network.Acceptor)
[…]
INFO [SocketServer brokerId=0] Started processors for 1 acceptors (kafka.network.SocketServer)
INFO Kafka version : 2.1.0 (org.apache.kafka.common.utils.AppInfoParser)
INFO Kafka commitId : 809be928f1ae004e (org.apache.kafka.common.utils.AppInfoParser)
INFO [KafkaServer id=0] started (kafka.server.KafkaServer)

The kafka-topicsкоманда должна возвращать выходные данные (вы не упоминаете ничего, что может быть признаком того, что на этом этапе что-то не работает):

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

Когда вы сделаете это, в выводе Kafka вы увидите Created log for partition test-0 среди информации журнала:

INFO [Log partition=test-0, dir=/tmp/kafka-logs] Loading producer state till offset 0 with message format version 2 (kafka.log.Log)
INFO [Log partition=test-0, dir=/tmp/kafka-logs] Completed load of log with 1 segments, log start offset 0 and log end offset 0 in 52 ms (kafka.log.Log)
INFO Created log for partition test-0 in /tmp/kafka-logs with properties {compression.type -> producer, message.format.version -> 2.1-IV2, file.delete.delay.ms -> 60000, max.message.bytes -> 1000012, min.compaction.lag.ms -> 0, message.timestamp.type -> CreateTime, message.downconversion.enable -> true, min.insync.replicas -> 1, segment.jitter.ms -> 0, preallocate -> false, min.cleanable.dirty.ratio -> 0.5, index.interval.bytes -> 4096, unclean.leader.election.enable -> false, retention.bytes -> -1, delete.retention.ms -> 86400000, cleanup.policy -> [delete], flush.ms -> 9223372036854775807, segment.ms -> 604800000, segment.bytes -> 1073741824, retention.ms -> 604800000, message.timestamp.difference.max.ms -> 9223372036854775807, segment.index.bytes -> 10485760, flush.messages -> 9223372036854775807}. (kafka.log.LogManager)
INFO [Partition test-0 broker=0] No checkpointed highwatermark is found for partition test-0 (kafka.cluster.Partition)
INFO Replica loaded for partition test-0 with initial high watermark 0 (kafka.cluster.Replica)
INFO [Partition test-0 broker=0] test-0 starts at Leader Epoch 0 from offset 0. Previous Leader Epoch was: -1 (kafka.cluster.Partition)

Тема отображается в списке:

$ ./bin/kafka-topics.sh --zookeeper localhost:2181 --list
test
...