Как установить Кафку на Windows?
Я пытаюсь установить очередь сообщений Kafka в Windows для тестирования (не для производства).
Я нашел эту статью о том, как установить Apache Kafka 0.8 на Windows: http://janschulte.wordpress.com/2013/10/13/apache-kafka-0-8-on-windows/
Это хорошая статья, но, к сожалению, она устарела.
Кто-нибудь знает способ достичь этого?
Ответы
Ответ 1
Хорошо, это, наконец, не сложно :)
Единственные шаги:
- Загрузите Кафку и разархивируйте ее где угодно (скажем,
C:/Kafka
)
- Установить Cygwin
Отредактируйте \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]"
В разделе Переменные среды добавьте Java в путь системной переменной:
![enter image description here]()
Вот это.. теперь вы можете запускать серверы ZooKeeper и Kafka и начать играть с темами и прочим..
Ответ 2
Шаги как follows-
- Переменные среды Java должны быть установлены.
- Перейдите на страницу загрузок Apache Kafka и загрузите Scala 2.12 kafka_2.12-0.10.2.1.tgz
- Распакуйте его.
-
Откройте командную строку и запустите zookeeper-
C:\kafka_2.12-0.10.2.1>.\Bin\windows\zookeeper- server-start.bat.\Config\zookeeper.properties
-
Откройте новую командную строку и запустите Apache Kafka-
C:\kafka_2.12-0.10.2.1>.\Bin\windows\Kafka- server-start.bat.\Config\server.properties
-
Откройте новую командную строку и создайте тему с именем 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
-
Далее откройте новую командную строку и создайте продюсера для отправки сообщения в созданную выше тему 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
-
Наконец, откройте новую командную строку и запустите получателя, который слушает тему 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...
Ответ 9
Вы также можете использовать Chocolatey: https://chocolatey.org/packages/kafka
Я еще не пробовал.
Ответ 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
, должны сначала вызвать предупреждение брандмауэра, которое необходимо принять, а затем вывести список групп.
Ответ 12
Это старая ветка, но для тех, кто читает это в 2018 году, я предлагаю запустить kafka в докере. Один из многих учебных пособий по этому поводу: https://iteritory.com/kafka-docker-image-installation-usage-tutorial-windows/
Ответ 13
Я только что попытался установить Apache Kafka на Windows несколько дней назад и записал шаги в посте Установка и настройка Kafka на Windows. Надеюсь, это поможет вам.
Ответ 14
Обратитесь к официальной документации,
https://kafka.apache.org/quickstart
На платформах Windows используйте bin\windows\
вместо bin/
и измените расширение скрипта на .bat
.