Jak zainstalować Kafka na Windows?

Próbuję zainstalować Kafka kolejkę komunikatów w Windows do celów testowych (nie do produkcji).

Znalazłem artykuł Jak zainstalować Apache Kafka 0.8 na Windows: http://janschulte.wordpress.com/2013/10/13/apache-kafka-0-8-on-windows/

To dobry artykuł, ale niestety Nieaktualny.

Czy ktoś wie jak to osiągnąć?

Author: TylerH, 2014-04-16

12 answers

Ok, to w końcu nie jest skomplikowane:)

Jedynymi krokami są:

  1. Pobierz Kafka i rozpakuj to gdzieś w ładnym miejscu (powiedzmy C:/Kafka)
  2. Zainstaluj Cygwin
  3. Edytuj \bin\kafka-run-class.sh i na końcu pliku Zmień

    exec $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@"

    Do

    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 "$@"

  4. W zmiennych środowiskowych Dodaj Javę do swojego systemu Path Zmienna:

    Tutaj wpisz opis obrazka

To wszystko.. możesz teraz uruchomić serwery ZooKeeper i Kafka i zacząć grać z tematami i rzeczami..
 32
Author: Yves M.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-06 14:41:44

Oto kroki, które wykonałem, aby uruchomić Kafkę w systemie Windows

  1. Install Zookeeper first (I downloaded v3.3.6) zookeeper-3.3.6.tar.gz
  2. Rozpakuj Zookeeper i uruchom to polecenie w powershell / cmd \zookeeper-3.3.6\bin> .\zkServer.cmd teraz powinno to uruchomić instancję Zookeeper na localhost:2181
  3. Pobierz wersję binarną Kafka (I pobrano v0.10.0.1)kafka_2.10-0.10.0.1.tgz
  4. Rozpakuj Kafkę, czas zmodyfikować kilka configów
  5. wewnątrz Kafki można znaleźć .\config\server.properties
  6. W .\config\server.properties zastąp log.dirs=c:/kafka/kafka-logs
  7. Uwaga: Pamiętaj, aby utworzyć te foldery w odpowiednich ścieżkach
  8. szczęśliwe wieści: teraz Kafka statki z oknami .Skrypty bat, można znaleźć te pliki w folderze ./bin/windows
  9. Uruchom powershell / cmd i uruchom to polecenie, aby uruchomić Kafka broker .\bin\windows\kafka-server-start.bat .\config\server.properties
  10. zrobione! Teraz masz działającą instancję Zookeeper i maklera Kafki.
 22
Author: noelyahan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-11 16:47:38

Bardziej aktualna odpowiedź z korzyścią dla wszystkich, którzy wciąż się nad tym zastanawiają, pobrałem plik binarny i wszystko działało od razu po wyjęciu z pudełka. Wersja źródłowa jednak nie zadziałała.

 19
Author: Joseph Blair,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-03 14:29:39

Prawdopodobnie przekonasz się, że Kafka ma okna .pliki bat w folderze bin , które pomogą Ci uruchomić Kafkę pod windows. Jednak te pliki bat nie są aktualizowane od wersji 0.8.0 i część logiki Kafki uległa zmianie (odnośnie tematów itp.).

Próbowałem dwóch sposobów rozwiązania tego problemu. Jednym z nich jest użycie Cygwina lub MinGW do symulacji środowiska Linuksa i uruchomienia skryptu powłoki Linuksa, ale byłoby mnóstwo innych problemów związanych z nazwami ścieżek. Inne rozwiązanie, co jest prostsze i pochodzą z mniej kłopotów, jest użycie poprawionej wersji plików Windows bat.

Prosimy o zapoznanie się z tym postem na blogu .

 13
Author: Anilot,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-28 07:43:07
  1. Pobierz dowolną wersję binarną (ściągnąłem kafka_2.11-0.10.2.0) Kafki z https://kafka.apache.org/downloads
  2. rozpakuj go do dowolnego folderu (rozpakowałem do "C:\Kafka")
  3. Otwórz Wiersz Polecenia
  4. Przejdź do folderu, w którym wyodrębniasz Kafka(C:\Kafka\kafka_2.11-0.10.2.0)
  5. Uruchom to polecenie .\bin\windows \ zookeeper-server-start.bat .\config\zookeeper.właściwości aby uruchomić Zookeeper
  6. Uruchom to polecenie .\bin \ windows \ kafka-server-start.bat .\config \ server.właściwości aby rozpocząć Kafka


Teraz działa!

 5
Author: Doğan Etkin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-13 07:07:55

W wersji 0.9.0. w folderze "bin" Dla windows znajdują się Skrypty. Możesz ich użyć.

 3
Author: hatmaca,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-01 19:58:27

Uruchamianie z powłoki windows

Od kwietnia 2019 r. pobieranie Kafki z ich strony internetowej działało na systemie Windows niemal od razu po wyjęciu z pudełka.]}

Pobieranie i korzystanie z wersji windows .pliki bat są opisane tutaj: https://kafka.apache.org/quickstart

Natknąłem się na dwa problemy, kiedy to zrobiłem:

1) JAVA_HOME zostało ustawione na nieobsługiwane JDK, co doprowadziło do tego rodzaju błędu

Wyjątek w wątku "main" java.lang.VerifyError: Niezainicjowany obiekt istnieje na wstecznej gałęzi 209

Zastąpienie JDK 11 rozwiązało problem.

2) JAVA_HOME nie może zawierać spacji, które spowodowały błąd "nie można znaleźć określonego pliku". Aby to naprawić użyłem skróconej ścieżki jak set JAVA_HOME=C:\Progra~1\Java\jdk-11.0.1


Running From Cygwin

Jeśli zamiast .pliki bat, chcesz uruchomić pliki. SH z cygwin , jest naprawdę sporo do zrobienia, a nawet po tym może być problemy, które pojawiają się później. Naprawdę nie mogę polecić tej opcji, ale używam jej, ponieważ jest całkiem wygodna do niektórych celów.

Jeśli ścieżka JAVA_HOME zawiera spację np. "C:\Program Files\Java\Jdk..."zobaczysz coś takiego:

Bin/kafka-run-class.sh: linia 305: exec: C:\Program: nie znaleziono

Jednym z rozwiązań jest skopiowanie jdk do ścieżki bez spacji i odpowiednio zmienić Dom Javy.

Jeśli nie chcesz zmieniać JDK lokalizacja, możesz zmienić zmienną cygwin env w następujący sposób:

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

I zmień linię

exec $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@"

Do

exec "$JAVA" $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@"

Pojawił się kolejny problem z parametrami dziennika w kafka-run-class.sh i musiałem wymienić linię

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

Z

KAFKA_GC_LOG_OPTS="-Xlog:gc*"

I nawet po tych wszystkich zmianach od czasu do czasu napotykam problemy z zamknięciem Kafki z powodu niekompatybilnej ścieżki stylu windows w katalogach dzienników, jak opisano tutaj: Kafka 1.0 stops with FATAL Błąd zamknięcia. Błąd katalogu logów Krótko mówiąc, może lepiej będzie, jeśli będziesz prowadził Kafkę .Skrypty bat z katalogu windows...

 1
Author: Gonen I,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-05-10 11:12:42

Zapoznaj się z oficjalną dokumentacją,

Https://kafka.apache.org/quickstart

Na platformach Windows użyj bin\windows\ zamiast {[1] } i zmień rozszerzenie skryptu na .bat.

 1
Author: Karthik P,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-10-06 15:03:31

Tak, skonfigurowałem ZOOKEEPER i Apache Kafka na moim komputerze z systemem Windows. W przypadku ZOOKEEPER wystarczy skonfigurować ZOOKEEPER_HOME i ustawić również ścieżkę, a następnie zmienić nazwę zoo.próbka.cfg do zoo.cfg, a także zmienić ścieżkę dla dataDir w zoo.cfg

Dla Apache Kafka, po prostu rozpakuj i uruchom serwer z folderu bin i uruchom producenta / konsumenta z folderu windows w katalogu Kafka

 0
Author: Sankalp Saxena,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-02 13:21:57

Z Chocolatey i Powershell:

  1. chocolatey.exe install kafka - > instaluje Kafkę w C:\ProgramData\chocolatey\lib\kafka\tools\kafka_2.11-1.0.0\ - twoja wersja może się oczywiście różnić
  2. dodaj C:\ProgramData\chocolatey\lib\kafka\tools\kafka_2.11-1.0.0\ do ścieżki powershell używając notepad $PROFILE

Po ponownym uruchomieniu powershell kafka-console-consumer powinien działać jako polecenie.

Musisz również zainstalować ssl.właściwości z keystore i truststore. Umieść je np. w C:\ProgramData\kafka i umieść to w ssl.properties (zwróć uwagę na ucieczkę z ukośników wstecznych):

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

Teraz rzeczy takie jak kafka-consumer-groups --bootstrap-server SERVERNAME:9094 --command-config C:\ProgramData\kafka\ssl.properties --list powinny najpierw pojawia się Ostrzeżenie zapory, które musisz zaakceptować, a następnie wyświetla listę grup.

 0
Author: hansaplast,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-19 10:29:34

Kafka & Zookeeper mają wbudowane Skrypty specyficzne dla systemu Windows, zweryfikowane w najnowszej wersji. Jak wspomniano w innych innych odpowiedziach, katalog skryptów windows będzie pod kafka_2.12-2.4.0\bin\windows dla Kafka. Skrypty Zookeeper są tylko w /bin, ale kończą się na"*.cmd "

Będzie kilka drobnych dodatkowych kroków, które będziesz musiał zrobić z ZooKeeper & Kafka jak

  • Tworzenie zoo.cfg dla ZooKeeper
  • Konfigurowanie katalogu danych specyficznych dla systemu windows dla ZeeKeeper
  • Kafka pochodzi z domyślnym plikiem konfiguracyjnym i ma bardzo dobrą obsługę specyficzną dla systemu operacyjnego, tj. log.dirs=/tmp/kafka-logs, ale stworzy tę strukturę katalogów w katalogu C:/ bezproblemowo bez błędów.

Łatwo jest również szybko skonfigurować klaster Kafka z wieloma brokerami Kafka w systemie Windows z niewielkimi konfiguracjami. Możesz także tworzyć tematy, publikować / konsumować wiadomości, sprawdzać tematy/partycje itp. wszystko z wiersza polecenia systemu Windows. Oto dobre szczegółowe odniesienie do konkretnej konfiguracji systemu windows [16]}Kafka Setup on Windows OS / Podstawowa instalacja, konfiguracja, weryfikacja, Konfiguracja klastra, Przechowywanie

 0
Author: Ravi K,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-03-10 06:52:39

Stworzyłem nowy artykuł, który dotyczy instalacji Kafki na windows 10 Tylko do testowania. Rozwiązuje problem z komend zbyt długi i rozwiązuje problem z połączeniem pomiędzy serwerem kafka a serwerem zookeeper poprzez zwiększenie parametru timeout i komentowanie broker.id parametr w pliku konfiguracyjnym serwera kafka.

 0
Author: Abderrahmen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-01-01 17:53:22