web-dev-qa-db-fra.com

Existe-t-il un moyen simple d’installer Kafka sous Windows?

J'essaie d'installer Kafka file d'attente de messages sous Windows à des fins de test (pas pour la production: D).

J'ai seulement trouvé cet article sur la façon d'installer Apache Kafka 0.8 sur Windows: http://janschulte.wordpress.com/2013/10/13/Apache-kafka-0-8-on-windows/

C'est cool mais:

  1. C'est obsolète
  2. C'est trop compliqué ...

Quelqu'un connaît un moyen facile d'y parvenir?

Merci.

31
Yves M.

Ok, c'est finalement pas compliqué :)

Les seules étapes sont:

  1. Téléchargez Kafka et décompressez-le quelque part à Nice (disons C:/Kafka)
  2. Installer Cygwin
  3. Éditez \bin\kafka-run-class.sh et à la fin du fichier, changez

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

    à

    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. Dans Variables d'environnement, ajoutez Java à votre variable système Path:

    enter image description here

C'est ça .. vous pouvez maintenant utiliser les serveurs ZooKeeper et Kafka et commencer à jouer avec des sujets et d'autres choses ..

23
Yves M.

Les étapes sont les suivantes-

  1. Les variables d'environnement Java doivent être définies.
  2. Vous avez accédé au Apache Kafka téléchargements page et téléchargez le Scala 2.12 kafka_2.12-0.10.2.1.tgz
  3. Décompressez-le.
  4. Ouvrez l'invite cmd et démarrez zookeeper-

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

  5. Ouvrez une nouvelle commande et lancez Apache Kafka- 

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

  6. Ouvrez une nouvelle commande et créez une rubrique avec le nom javainuse-topic, qui ne comporte qu'une seule partition et un seul réplica.

    C:\kafka_2.12-0.10.2.1>.\Bin\windows\kafka-topics.bat --create --zookeeper localhost: 2181 --replication-factor 1 --partitions 1 --topic javainuse-topic

  7. Next Ouvrez une nouvelle invite de commande et créez un producteur pour envoyer un message au sujet javainuse créé ci-dessus et envoyer un message - Hello World Javainuse à it-

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

    Bonjour Monde Javainuse

  8. Enfin, ouvrez une nouvelle invite de commande et démarrez le consommateur qui écoute le sujet javainuse-topic que nous venons de créer ci-dessus. Nous allons recevoir le message que nous avons envoyé en utilisant le producteur 

    C:\kafka_2.12-0.10.2.1>.\Bin\windows\kafka-console-consumer.bat --bootstrap-server localhost: 9092 --topic javainuse-topic --from-begin

Des étapes détaillées, notamment des captures d'écran et des vidéos, sont disponibles dans ce blog- Démarrer avec Apache Kafka

21
Rameez

Une réponse plus récente pour le bénéfice de tous ceux qui s’interrogent encore sur ce point, j’ai téléchargé le fichier binaire et tout a fonctionné immédiatement. La version source, cependant, n'a pas fonctionné.

16
Joseph Blair

Voici les étapes que j'ai suivies pour exécuter kafka sous Windows

  1. Installez d'abord Zookeeper (I téléchargé v3.3.6) zookeeper-3.3.6.tar.gz 
  2. Extrayez Zookeeper et exécutez cette commande dans powershell/cmd \zookeeper-3.3.6\bin> .\zkServer.cmd Maintenant, cela devrait être une instance de Zookeeper sur localhost:2181
  3. Télécharger la version binaire de Kafka (I téléchargé v0.10.0.1) kafka_2.10-0.10.0.1.tgz
  4. Extrait Kafka, il est temps de modifier certaines configurations
  5. À l'intérieur de l'extraction Kafka, vous pouvez trouver .\config\server.properties
  6. Dans .\config\server.properties, remplacez log.dirs=c:/kafka/kafka-logs
  7. Remarque: assurez-vous de créer ces dossiers dans les chemins appropriés.
  8. Bonne nouvelle: Kafka est désormais livré avec des scripts Windows .bat. Vous pouvez trouver ces fichiers dans le dossier ./bin/windows.
  9. Lancez powershell/cmd et exécutez cette commande pour démarrer le courtier Kafka .\bin\windows\kafka-server-start.bat .\config\server.properties
  10. DONE !, Vous avez maintenant une instance Zookeeper en cours d'exécution et un courtier Kafka.
13
noelyahan

Vous constaterez probablement que Kafka est livré avec des fichiers Windows .bat dans le dossier bin pour vous aider à exécuter Kafka sous Windows. Cependant, ces fichiers bat ne sont plus mis à jour depuis la version 0.8.0 et la logique de Kafka a été modifiée (en ce qui concerne les sujets, etc.). 

J'ai essayé deux façons de résoudre ce problème. L'une consiste à utiliser Cygwin ou MinGW pour simuler un environnement Linux et exécuter le script Linux Shell, mais il y aurait beaucoup d'autres problèmes liés aux noms de chemins. L’autre solution, plus simple et qui pose moins de problèmes, consiste à utiliser la version corrigée des fichiers Windows bat. 

S'il vous plaît se référer à ce blog post

10
Anilot

Dans la version 0.9.0. il y a des scripts dans le dossier "bin" pour Windows. Vous pouvez les utiliser.

3
hatmaca

C'est un vieux fil de discussion, mais pour quelqu'un qui lit ceci en 2018, je suggère d'exécuter kafka dans docker . L'un des nombreux tutoriels à ce sujet: https://iteritory.com/kafka-docker-image -installation- utilisation-tutorial-windows/

1
Manuel Alves

Courir depuis un shell Windows

En avril 2019, le téléchargement de Kafka à partir de leur site Web fonctionnait sous Windows presque immédiatement.

Le téléchargement et l’utilisation des fichiers .bat de la version Windows sont décrits ici: https://kafka.Apache.org/quickstart

J'ai rencontré deux problèmes quand j'ai fait ceci:

1) Java_HOME a été défini sur un JDK non pris en charge, ce qui a entraîné ce type d'erreur.

Exception dans le thread "principal" Java.lang.VerifyError: un objet non initialisé existe sur la branche arrière 209

Remplacer par JDK 11 a résolu le problème.

2) Java_HOME ne doit pas contenir d'espaces ayant provoqué l'erreur "impossible de trouver le fichier spécifié". Pour résoudre ce problème, j'ai utilisé un chemin raccourci comme set Java_HOME=C:\Progra~1\Java\jdk-11.0.1


sous Cygwin

Si, au lieu des fichiers .bat, vous souhaitez exécuter les fichiers .sh à partir de cygwin , il reste encore beaucoup à faire, et même après cela, il peut y avoir des problèmes qui se posent plus tard. Je ne peux pas vraiment recommander cette option, mais je l'utilise car elle est très pratique à certaines fins.

Si votre chemin Java_HOME contient un espace, par exemple "C:\Program Files\Java\Jdk ...", vous verrez quelque chose comme ceci:

bin/kafka-run-class.sh: ligne 305: exec: C:\Programme: non trouvé

Une solution consiste à copier le jdk sur un chemin sans espaces et à modifier le Java home en conséquence.

Si vous ne souhaitez pas modifier l'emplacement du JDK, vous pouvez modifier la variable env cygwin comme suit:

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

et changer la ligne

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

à

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

Il y avait un autre problème avec les paramètres de journal dans kafka-run-class.sh et j'ai dû remplacer la ligne

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

avec

KAFKA_GC_LOG_OPTS="-Xlog:gc*"

Et même après toutes ces modifications, je rencontrais parfois des problèmes d’arrêt de Kafka en raison d’un chemin de style Windows incompatible dans les répertoires de journalisation, comme décrit ici: Kafka 1.0 s’arrête avec l’erreur FATAL SHUTDOWN. Répertoire de journalisation failed En bref, vous feriez mieux de lancer les scripts Kafka .bat à partir du répertoire windows ...

1
Gonen I
  1. Téléchargez n'importe quelle version binaire (j'ai téléchargé kafka_2.11-0.10.2.0) de Kafka à partir de https://kafka.Apache.org/downloads
  2. Extrayez-le dans n'importe quel dossier (je l'ai extrait dans "C:\Kafka")
  3. Ouvrir l'invite de commande
  4. Allez dans le dossier que vous extrayez Kafka (C:\Kafka\kafka_2.11-0.10.2.0)
  5. Exécutez cette commande .\Bin\windows\zookeeper-server-start.bat.\Config\zookeeper.properties pour démarrer Zookeeper.
  6. Exécutez cette commande .\Bin\windows\kafka-server-start.bat.\Config\server.properties pour démarrer Kafka.


Maintenant ça marche!

1
Doğan Etkin

Oui, j'avais configuré ZOOKEEPER et Apache Kafka sur mon ordinateur Windows. Pour ZOOKEEPER, configurez simplement ZOOKEEPER_HOME et définissez le chemin également, puis renommez Zoo.sample.cfg en Zoo.cfg et modifiez également le chemin de dataDir dans Zoo.cfg.

Pour Apache Kafka, décompressez simplement et démarrez le serveur à partir du dossier bin et démarrez le dossier Producer/Consumer à partir de Windows sous le répertoire Kafka.

0
Sankalp Saxena

Je viens d'essayer d'installer Apache Kafka sur Windows il y a quelques jours et j'ai enregistré les étapes du message Installer et installer Kafka sous Windows . J'espère que cela vous aide.

0
PixelsTech

Avec Chocolatey et Powershell:

  1. chocolatey.exe install kafka -> installe Kafka dans C:\ProgramData\chocolatey\lib\kafka\tools\kafka_2.11-1.0.0\ - votre version peut différer bien sûr
  2. ajoutez C:\ProgramData\chocolatey\lib\kafka\tools\kafka_2.11-1.0.0\ à votre chemin Powershell en utilisant notepad $PROFILE

Après avoir redémarré powershell kafka-console-consumer devrait fonctionner comme une commande.

Vous devez également installer ssl.properties avec le keystore et le magasin de clés de confiance. Mettez-les par exemple dans C:\ProgramData\kafka et le mettre dans ssl.properties (veuillez noter l'échappement des barres obliques inverses):

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

Des éléments tels que kafka-consumer-groups --bootstrap-server SERVERNAME:9094 --command-config C:\ProgramData\kafka\ssl.properties --list devraient d’abord afficher un avertissement de pare-feu que vous devez accepter, puis générer une liste de groupes.

0
hansaplast