web-dev-qa-db-ja.com

WindowsにKafkaをインストールする方法?

私は Kafka Windowsのメッセージキューをテストの目的で(プロダクション用ではなく)インストールしようとしています。

Apacheをインストールする方法に関するこの記事を見つけましたKafka 0.8: http://janschulte.wordpress.com/2013/10/13/Apache-kafka-0-8 -on-windows /

良い記事ですが、残念ながら時代遅れです。

誰かがそれを達成する方法を知っていますか?

35
Yves M.

わかりました、それは最終的に複雑ではありません:)

唯一の手順は次のとおりです。

  1. Kafkaをダウンロードして、ニースのどこかで解凍します(たとえば、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 "$@"

    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. Environment Variablesで、JavaをPathシステム変数:

    enter image description here

それだけです。ZooKeeperを実行して、Kafka=サーバーと トピックやもので遊んでください ..

27
Yves M.

手順は次のとおりです。

  1. Java環境変数を設定する必要があります。
  2. Apache Kafka downloads ページにアクセスして、Scala 2.12 kafka_2.12-0.10.2.1.tgzをダウンロードします
  3. 解凍します。
  4. Cmdプロンプトを開き、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. 新しいコマンドプロンプトを開き、1つのパーティションと1つのレプリカのみを持つjavainuse-topicという名前のトピックを作成します。

    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. 次に、新しいコマンドプロンプトを開き、上記で作成したjavainuse-topicにメッセージを送信するプロデューサーを作成して、メッセージを送信します-Hello World Javainuse to it-

    C:\ kafka_2.12-0.10.2.1>。\ bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic javainuse-topic

    Hello World Javainuse

  8. 最後に、新しいコマンドプロンプトを開き、上記で作成したトピックjavainuse-topicをリッスンするコンシューマーを起動します。プロデューサーを使用して送信したメッセージを取得します

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

スクリーンショットとビデオを含む詳細な手順は、このブログで利用可能です Apache Kafkaを始めよう

21
Rameez

まだこれについて疑問に思っている他の誰かの利益のためのより新しい答えは、私はバイナリをダウンロードし、すべてが箱から出してすぐに動作しました。ただし、ソースバージョンは機能しませんでした。

19
Joseph Blair

これらは、Windowsでkafka=を実行するために従った手順です

  1. 最初にZookeeperをインストールします(I ダウンロード済み v3.3.6)zookeeper-3.3.6.tar.gz
  2. Zookeeperを抽出し、powershell/cmdでこのコマンドを実行します\zookeeper-3.3.6\bin> .\zkServer.cmdこれで、localhost:2181でZookeeperインスタンスが起動します。
  3. ダウンロードKafkaバイナリバージョン(I ダウンロード済み v0.10.0.1)kafka_2.10-0.10.0.1.tgz
  4. Kafkaを抽出し、いくつかの設定を変更します
  5. 内部Kafka抽出すると、.\config\server.propertiesが見つかります
  6. .\config\server.propertieslog.dirs=c:/kafka/kafka-logsを置き換えます
  7. 注:これらのフォルダーを関連するパスに作成してください
  8. 嬉しいニュース:Kafka= Windows .batスクリプトが付属しています。これらのファイルは./bin/windowsフォルダー内にあります
  9. Powershell/cmdを起動し、このコマンドを実行してKafka= broker .\bin\windows\kafka-server-start.bat .\config\server.properties
  10. これで、実行中のZookeeperインスタンスとKafka=ブローカー。
17
noelyahan

おそらく、Kafka=は、Windowsの.batファイルにbinフォルダーの下にあり、実行に役立つKafka。ただし、これらのbatファイルはバージョン0.8.0以降に更新されておらず、Kafkaのロジックの一部が変更されています(トピックなどに関して)。

この問題を解決するために2つの方法を試しました。 1つは、CygwinまたはMinGWを使用してLinux環境をシミュレートし、Linuxシェルスクリプトを実行することですが、パス名に関連する他の問題が山ほどあります。もう1つの解決策は、より単純でトラブルの少ない方法ですが、Windowsのbatファイルの修正バージョンを使用することです。

これを参照してください ブログ投稿

13
Anilot

バージョン0.9.0で。 Windows用の「bin」フォルダーにスクリプトがあります。それらを使用できます。

3
hatmaca
  1. 任意のbinaryバージョンをダウンロードします(kafka_2.11-0.10.2.0をダウンロードしました)Kafka from https://kafka.Apache.org/downloads
  2. 任意のフォルダーに解凍します(「C:\ Kafka」に解凍しました)
  3. コマンドプロンプトを開く
  4. Kafka(C:\ Kafka\kafka_2.11-0.10.2.0)を抽出したフォルダーに移動します
  5. このコマンドを実行します。\ bin\windows\zookeeper-server-start.bat。\ config\zookeeper.propertiesZookeeperを起動します
  6. このコマンド。\ bin\windows\kafka-server-start.bat。\ config\server.propertiesを実行して、Kafkaを起動します


これで動作します!

2
Doğan Etkin

Windowsシェルからの実行

2019年4月の時点で、ウェブサイトからKafkaをダウンロードすると、ほとんどすぐにWindowsで動作しました

Windowsバージョンの.batファイルのダウンロードと使用については、ここで説明します。 https://kafka.Apache.org/quickstart

これを行うと、2つの問題が発生しました。

1)Java_HOMEがサポートされていないJDKに設定され、この種のエラーが発生した

スレッド「メイン」の例外Java.lang.VerifyError:初期化されていないオブジェクトが後方ブランチに存在する209

JDK 11に置き換えることで問題は解決しました。

2)Java_HOMEには、「指定されたファイルが見つかりません」というエラーを引き起こすスペースを含めることはできません。これを修正するために、set Java_HOME=C:\Progra~1\Java\jdk-11.0.1のような短縮パスを使用しました


Cygwinからの実行

.batファイルの代わりに、cygwinから.shファイルを実行したい場合、実際にはかなりの作業が必要です。その後でも後で問題が発生する場合があります。このオプションは本当にお勧めできませんが、いくつかの目的には非常に便利なので使用します。

Java_HOMEパスにスペースが含まれている場合「C:\ Program Files\Java\Jdk ...」と表示されます。

bin/kafka-run-class.sh:305行目:exec:C:\ Program:が見つかりません

1つの解決策は、jdkをスペースなしのパスにコピーし、それに応じてJava homeを変更します。

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

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

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*"

これらのすべての変更の後でも、ここで説明するように、ログディレクトリ内の互換性のないWindowsスタイルのパスのために、Kafkaシャットダウンの問題が発生することがあります。 Kafka 1.0はFATAL SHUTDOWNエラーで停止します。Logsディレクトリが失敗しました 要するに、WindowsディレクトリからKafka .batスクリプトを実行する方が良いでしょう...

1
Gonen I

はい、WindowsマシンでZOOKEEPERとApache Kafkaを構成しました。ZOOKEEPERの場合は、ZOOKEEPER_HOMEを構成し、パスも設定してから、Zoo.sample.cfgの名前をZoo.cfgに変更します。 Zoo.cfgのdataDirのパス

Apache Kafkaの場合は、binフォルダーからサーバーを解凍して起動し、Kafkaディレクトリの下のwindowsフォルダーからProducer/Consumerを起動します

0
Sankalp Saxena

私はちょうど数日前にWindowsにApache Kafkaをインストールしようとし、投稿の手順を記録しました Install and setup Kafka= Windows 。これがお役に立てば幸いです。

0
PixelsTech

これは古いスレッドですが、2018年にこれを読んでいる人には、kafka=をDockerで実行することをお勧めします。これに関する多くのチュートリアルの1つ: https://iteritory.com/kafka-docker -image-installation-usage-tutorial-windows /

0
Manuel Alves

ChocolateyとPowershellの場合:

  1. chocolatey.exe install kafka-> installs Kafka into C:\ProgramData\chocolatey\lib\kafka\tools\kafka_2.11-1.0.0\-バージョンはもちろん異なる場合があります
  2. 追加 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は、最初にファイアウォールの警告を表示する必要があります。これを受け入れてから、グループのリストを出力する必要があります。

0
hansaplast