Подтвердить что ты не робот

Как установить Кафку на Windows?

Я пытаюсь установить очередь сообщений Kafka в Windows для тестирования (не для производства).

Я нашел эту статью о том, как установить Apache Kafka 0.8 на Windows: http://janschulte.wordpress.com/2013/10/13/apache-kafka-0-8-on-windows/

Это хорошая статья, но, к сожалению, она устарела.

Кто-нибудь знает способ достичь этого?

4b9b3361

Ответ 1

Хорошо, это, наконец, не сложно :)

Единственные шаги:

  1. Загрузите Кафку и разархивируйте ее где угодно (скажем, C:/Kafka)
  2. Установить Cygwin
  3. Отредактируйте \bin\kafka-run-class.sh и в конце файла измените

    exec $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "[email protected]"

    в

    exec java $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp 'cygpath -wp $CLASSPATH' $KAFKA_OPTS "[email protected]"

  4. В разделе Переменные среды добавьте Java в путь системной переменной:

    enter image description here

Вот это.. теперь вы можете запускать серверы ZooKeeper и Kafka и начать играть с темами и прочим..

Ответ 2

Шаги как follows-

  1. Переменные среды Java должны быть установлены.
  2. Перейдите на страницу загрузок Apache Kafka и загрузите Scala 2.12 kafka_2.12-0.10.2.1.tgz
  3. Распакуйте его.
  4. Откройте командную строку и запустите zookeeper-

    C:\kafka_2.12-0.10.2.1>.\Bin\windows\zookeeper- server-start.bat.\Config\zookeeper.properties

  5. Откройте новую командную строку и запустите Apache Kafka-

    C:\kafka_2.12-0.10.2.1>.\Bin\windows\Kafka- server-start.bat.\Config\server.properties

  6. Откройте новую командную строку и создайте тему с именем javainuse-topic, которая имеет только один раздел и одну реплику.

    C:\kafka_2.12-0.10.2.1>.\Bin\windows\Kafka- themes.bat --create - localhost: zookeeper: 2181 - коэффициент репликации 1 --partitions 1 --topic javainuse-topic

  7. Далее откройте новую командную строку и создайте продюсера для отправки сообщения в созданную выше тему javainuse и отправьте сообщение - Hello World Javainuse на it-

    C:\kafka_2.12-0.10.2.1>.\Bin\windows\Kafka- console -roduction.bat --broker-list localhost: 9092 --topic javainuse-topic

    Привет, мир, Javainuse

  8. Наконец, откройте новую командную строку и запустите получателя, который слушает тему javainuse-topic, которую мы только что создали. Мы получим сообщение, которое мы отправили, используя производителя

    C:\kafka_2.12-0.10.2.1>.\Bin\windows\Kafka- console-consumer.bat --bootstrap-server localhost: 9092 --topic тема javainuse --from-begin

Подробные шаги, включая скриншоты и видео, доступны в этом blog- Начало работы с Apache Kafka

Ответ 3

Более точный ответ на благо кого-либо еще интересующегося об этом, я загрузил двоичный файл и все работало прямо из коробки. Исходная версия, однако, не работала.

Ответ 4

Это шаги, которые я выполнил для запуска kafka в Windows

  • Сначала установите Zookeeper (I скачано v3.3.6) zookeeper-3.3.6.tar.gz
  • Извлеките Zookeeper и запустите эту команду в powershell/cmd \zookeeper-3.3.6\bin> .\zkServer.cmd Теперь это должно привести к экземпляру Zookeeper на localhost:2181
  • Загрузите двоичную версию Kafka (I скачано v0.10.0.1) kafka_2.10-0.10.0.1.tgz
  • Извлеките Kafka, время для изменения некоторых конфигураций
  • Внутри экстракции Кафки вы можете найти .\config\server.properties
  • В .\config\server.properties заменить log.dirs=c:/kafka/kafka-logs
  • Примечание. Обязательно создайте эти папки в соответствующих путях.
  • Счастливые новости: теперь Kafka поставляется с окнами .bat-скриптами, вы можете найти эти файлы внутри папки ./bin/windows
  • Запустите powershell/cmd и запустите эту команду, чтобы запустить брокера Kafka .\bin\windows\kafka-server-start.bat .\config\server.properties
  • DONE!, Теперь у вас есть действующий экземпляр Zookeeper и брокера Kafka.

Ответ 5

Вероятно, вы обнаружите, что Kafka поставляется с Windows.bat файлами под папкой bin, чтобы помочь вам запустить Kafka под окнами. Однако эти файлы bat не обновляются с версии 0.8.0, а некоторые из правил Kafka изменились (в отношении тем и т.д.).

Я пробовал два способа решить эту проблему. Один из них - использовать Cygwin или MinGW для моделирования среды Linux и запуска оболочки Linux script, но было бы много других проблем, связанных с именами путей. Другое решение, которое проще и с меньшими проблемами, заключается в использовании исправленной версии файлов bat для Windows.

Пожалуйста, обратитесь к этому сообщению .

Ответ 6

  • Загрузите любую бинарную версию (я загрузил kafka_2.11-0.10.2.0) из Kafka из https://kafka.apache.org/downloads
  • Извлеките его в любую папку (я извлек ее в папку "C:\Kafka" )
  • Открыть командную строку
  • Перейдите в папку, в которой вы извлекаете Kafka (C:\Kafka\kafka_2.11-0.10.2.0)
  • Запустите эту команду .\bin\windows\zookeeper-server-start.bat.\config\zookeeper.properties, чтобы запустить Zookeeper
  • Запустите эту команду .\bin\windows\kafka-server-start.bat.\config\server.properties, чтобы запустить Kafka


Теперь он работает!

Ответ 7

В версии 0.9.0. в папке "bin" для Windows есть скрипты. Вы можете использовать их.

Ответ 8

Запуск из оболочки Windows

По состоянию на апрель 2019 года загрузка Kafka с их сайта работала на Windows практически сразу из коробки.

Загрузка и использование файлов Windows.bat версии описана здесь: https://kafka.apache.org/quickstart

Я столкнулся с двумя проблемами, когда я сделал это:

1) JAVA_HOME был установлен на неподдерживаемый JDK, что привело к такого рода ошибке

Исключение в потоке "main" java.lang.VerifyError: Неинициализированный объект существует в обратной ветки 209

Замена на JDK 11 решила проблему.

2) JAVA_HOME не должен содержать пробелов, которые привели к ошибке "не удается найти указанный файл". Чтобы исправить это, я использовал сокращенный путь, такой как set JAVA_HOME=C:\Progra~1\Java\jdk-11.0.1


Работает от Cygwin

Если вместо .bat файлов вы хотите запустить .sh файлы из cygwin, на самом деле нужно сделать совсем немного, и даже после этого могут возникнуть проблемы, которые появятся позже. Я не могу порекомендовать эту опцию, но я использую ее, так как она довольно удобна для некоторых целей.

Если ваш путь JAVA_HOME содержит пробел, например "C:\Program Files\Java\Jdk...", вы увидите что-то вроде этого:

bin/kafka-run-class.sh: строка 305: exec: C:\Программа: не найдена

Одним из решений является копирование JDK в путь без пробелов и соответствующее изменение домашней страницы Java.

Если вы не хотите изменять местоположение JDK, вы можете изменить переменную cygwin env следующим образом:

JAVA_HOME="/cygdrive/c/Program Files/Java/jdk-11.0.1"

и изменить линию

exec $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "[email protected]"

в

exec "$JAVA" $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "[email protected]"

Была другая проблема с параметрами журнала в kafka-run-class.sh, и мне пришлось заменить строку

KAFKA_GC_LOG_OPTS="-Xlog:gc*:file=$LOG_DIR/$GC_LOG_FILE_NAME:time,tags:filecount=10,filesize=102400"

с

KAFKA_GC_LOG_OPTS="-Xlog:gc*"

И даже после всех этих изменений я иногда сталкиваюсь с проблемами выключения Kafka из-за несовместимого пути стиля Windows в каталогах журналов, как описано здесь: Kafka 1.0 останавливается с ошибкой FATAL SHUTDOWN. Сбой каталога журналов Короче говоря, вам может быть лучше запустить сценарии Kafka.bat из каталога Windows...

Ответ 10

Да, я настроил ZOOKEEPER и Apache Kafka на моей Windows-машине. Для ZOOKEEPER просто настройте ZOOKEEPER_HOME и установите путь, а затем переименуйте zoo.sample.cfg в zoo.cfg, а также измените путь для dataDir в zoo.cfg

Для Apache Kafka просто разархивируйте и запустите сервер из папки bin и запустите Producer/Consumer из папки Windows в каталоге Kafka

Ответ 11

С Chocolatey и Powershell:

  • chocolatey.exe install kafka → устанавливает Kafka в C:\ProgramData\chocolatey\lib\kafka\tools\kafka_2.11-1.0.0\ - ваша версия может отличаться, конечно.
  • добавьте C:\ProgramData\chocolatey\lib\kafka\tools\kafka_2.11-1.0.0\ в свой путь powershell, используя notepad $PROFILE

После перезапуска powershell kafka-console-consumer должен работать как команда.

Вам также необходимо установить ssl.properties с хранилищем ключей и доверительным магазином. Положите их, например. в C:\ProgramData\kafka и поместите это в ssl.properties (обратите внимание на ускорение обратных косых черт):

security.protocol=SSL

ssl.truststore.location=C:\\ProgramData\\kafka\\kafka-truststore.jks
ssl.truststore.password=PASSWORD

ssl.keystore.location=C:\\ProgramData\\kafka\\kafka-keystore.jks
ssl.keystore.password=PASSWORD
ssl.key.password=PASSWORD

client.id=console-test

Теперь такие вещи, как kafka-consumer-groups --bootstrap-server SERVERNAME:9094 --command-config C:\ProgramData\kafka\ssl.properties --list, должны сначала вызвать предупреждение брандмауэра, которое необходимо принять, а затем вывести список групп.

Ответ 14

Обратитесь к официальной документации,

https://kafka.apache.org/quickstart

На платформах Windows используйте bin\windows\ вместо bin/ и измените расширение скрипта на .bat.