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:
Quelqu'un connaît un moyen facile d'y parvenir?
Merci.
Ok, c'est finalement pas compliqué :)
Les seules étapes sont:
C:/Kafka
)É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 "$@"
Dans Variables d'environnement, ajoutez Java à votre variable système Path:
C'est ça .. vous pouvez maintenant utiliser les serveurs ZooKeeper et Kafka et commencer à jouer avec des sujets et d'autres choses ..
Les étapes sont les suivantes-
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
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
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
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
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
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é.
Voici les étapes que j'ai suivies pour exécuter kafka sous Windows
zookeeper-3.3.6.tar.gz
\zookeeper-3.3.6\bin> .\zkServer.cmd
Maintenant, cela devrait être une instance de Zookeeper sur localhost:2181
kafka_2.10-0.10.0.1.tgz
.\config\server.properties
.\config\server.properties
, remplacez log.dirs=c:/kafka/kafka-logs
./bin/windows
..\bin\windows\kafka-server-start.bat .\config\server.properties
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 .
Dans la version 0.9.0. il y a des scripts dans le dossier "bin" pour Windows. Vous pouvez les utiliser.
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/
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 ...
Maintenant ça marche!
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.
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.
Avec Chocolatey et Powershell:
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ûrC:\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.