Windows で Kafka をビルドして実行する方法

Windows で Kafka をビルドして実行する方法

[51CTO.com クイック翻訳] この記事では、Windows オペレーティング システム上で Apache Kafka サーバーを構成して起動する方法について詳しく説明します。同時に、このガイドでは、Java および Apache ZooKeeper の構成と手順についても説明します。

ご存知のとおり、Apache Kafka は高速でスケーラブルなメッセージング キューです。コンテキストの読み取りと書き込みを同時に実行しながら、さまざまな I/O に関連する大量のトラフィック負荷を処理できます。 Kafka の詳細については、http://kafka.apache.org/ を参照してください。信頼性の高い分散調整ツールである Apache Kafka には、実行中の ZooKeeper インスタンスが必要です (翻訳者注: ZooKeeper は、分散アプリケーションに一貫したサービス インターフェイスを提供する分散調整サービスです)。 ZooKeeper の詳細については、https://zookeeper.apache.org/ をご覧ください。

関連リソース

以下で説明する内容については、実践的な実験を通じて Windows 上で Kafka をセットアップするのに役立つビデオを録画しました (https://youtu.be/OJKesEpO6ok を参照)。その間、皆さんが参照したり練習したりできるように、GitHub に Spark-Scala ユーティリティのシリーズを作成しました (https://github.com/gopal-tiwari を参照)。

さらに、この記事に関係する以下のさまざまなファイルを事前に準備してダウンロードする必要があります。

  • オペレーティング システムと CPU アーキテクチャに応じて、http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html からサーバーの JRE をダウンロードできます。
  • http://www.7-zip.org/download.html から 7-zip をダウンロードしてインストールしてください。
  • http://zookeeper.apache.org/releases.html から ZooKeeper をダウンロードし、7-zip を使用して解凍してください。
  • http://kafka.apache.org/downloads.html から Kafka をダウンロードし、7-zip を使用して解凍してください。

以下では、ZooKeeper と Kafka が C: ドライブに解凍されて保存されていることを前提としていますが、他の場所に解凍することもできます。

また、この実験では単一ノードの ZooKeeper インスタンスのみを使用することを考慮して、Kafka にパッケージ化されていない ZooKeeper のみを使用しました。必要に応じて、Zookeeper がすでにパッケージ化されている kafka\bin\windows ディレクトリにある Kafka インストール パッケージを使用することもできます。

インストール

A. JDK設定

1. JRE インストーラーをダブルクリックした後、「インストール」をクリックして続行し、もちろん「インストール先フォルダーの変更」チェックボックスをクリックします。

2. JDK のデフォルトのインストール パスは、C:\Program Files\Java\jre1.8.0_xx です。ただし、ターゲット ディレクトリを C:\Java\jre1.8.0_xx などに変更して、[次へ] をクリックすることもできます。

3. 次に、「コントロール パネル」->「システム」->「システムの詳細設定」->「環境変数」をクリックして、変数に関連するシステムの動作環境を設定できます。

4. 下の図に示すように、「ユーザー変数」セクションで「新しいユーザー変数」をクリックし、ポップアップ ダイアログ ボックスの「変数名」に「JAVA_HOME」と入力し、「変数値」に独自の jre のパスを入力します。

(注: 使用している Kafka のバージョンによって、Java の具体的なパスとバージョンが異なる場合があります)

5. 「OK」をクリックします。

6. 「システム変数」セクションで、「環境変数」ダイアログ ボックスを見つけて開きます。

7. 次に「パス」を編集します。次の図に示すように、「変数値」の既存のテキストの末尾に「;%JAVA_HOME%\bin」と入力してください。

8. Java がインストールされているかどうかを確認するには、「cmd」を開いて「java –version」と入力します。この時点で、インストールした Java のバージョンを確認できるはずです。

コマンド プロンプトが上の画像のようになっている場合は、設定は完了です。それ以外の場合は、設定が現在のオペレーティング システムのアーキテクチャ (x86 や x64 など) と一致しているかどうか、または環境変数のパスが正しいかどうかを再確認する必要があります。

B. ZooKeeperのインストール

1. ZooKeeper 構成ディレクトリに注目してみましょう。ここでは、「C:\zookeeper-3.4.7\conf」を使用しました。

2. ファイルの名前を「zoo_samplep.cfg」から「zoo.cfg」に変更しました。

3. メモ帳などのテキスト エディターで zoo.cfg を開いてください。ここでは Notepad++ を使用します。

4. 「dataDir=/tmp/zookeeper」フィールドを見つけて、「C:\zookeeper-3.4.7\data」に変更します。

5. 上記の Java の場合と同様に、システム環境変数にエントリをもう 1 つ追加します。

a.システム変数に「ZOOKEEPER_HOME = C:\zookeeper-3.4.7」を追加します。

b. 「Path」という名前のシステム変数を編集し、「;%ZOOKEEPER_HOME%\bin」を追加します。

6. zoo.cfg ファイル内のデフォルトの ZooKeeper ポートを別のポートに変更できます。デフォルトのポートは 2181 です。

7. 新しい cmd を開き、zkserver と入力して ZooKeeper を実行します。

8. 次の詳細を含むコマンドプロンプトが表示されます。

これで、ZooKeeper がポート 2181 で稼働するようになりました。

C. Kafka の設定

1. Kafka の設定ディレクトリに移動します。ここではC:\kafka_2.11-0.9.0.0\configです。

2. ファイル「server.properties」を編集してください。

3. 「log.dirs=/tmp/kafka-logs」という行を見つけて、「log.dir= C:\kafka_2.11-0.9.0.0\kafka-logs」に変更します。

4. ZooKeeper を別のコンピューターまたはクラスターで実行する必要がある場合は、「zookeeper.connect:2181」をターゲットの IP アドレスとポート番号に変更してください。ここでは同じマシンを使用しているため、変更する必要はありません。さらに、Kafka のポート番号と broker.id も適切に設定できます。その他の設定はそのままにしておいてください。

5. この例では、Kafka はデフォルトのポート 9092 で実行され、ZooKeeper のデフォルトのポート 2181 に接続します。

D. Kafkaサーバーを実行する

重要: Kafka サーバーを起動する前に、ZooKeeper インスタンスが起動して実行されていることを確認してください。

1. Kafka インストール ディレクトリ (C:\kafka_2.11-0.9.0.0\) に移動します。

2. Shift キーを押しながら右クリックし、「コマンド ウィンドウをここで開く」オプションを選択して、コマンド プロンプトを開きます。

3. 次の図に示すように、「.\bin\windows\kafka-server-start.bat .\config\server.properties bat」と入力し、Enter キーを押します。

4. すべてがうまくいけば、コマンド プロンプトに次のメッセージが表示されます。

5. Kafka サーバーが起動したら、メッセージを保存するためのさまざまなトピックを作成できます。さらに、Java、Scala コード、またはコマンド プロンプトで直接データを生成したり使用したりすることもできます。

E. トピックを作成する

1. 実行されている Kafka サーバーは 1 つだけなので、レプリケーション係数が 1 の「test」というトピックを作成するだけで済みます。もちろん、複数の Kafka サーバーを実行しているクラスターがある場合は、それに応じてレプリケーション係数を増やして、データの可用性を向上させ、フォールト トレラント システムとして機能することもできます。

2. C:\kafka_2.11-0.9.0.0\bin\windows で新しいコマンドプロンプトを開きます。

3. 次の図に示すように、コマンド「kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test」を入力し、Enter キーを押します。

F. テストサーバーのプロデューサーとコンシューマーを作成する

1. C:\kafka_2.11-0.9.0.0\bin\windows で新しいコマンド プロンプトを開きます。

2. プロデューサーを起動するには、コマンド「kafka-console-producer.bat --broker-list localhost:9092 --topic test」を入力してください。

3. C:\kafka_2.11-0.9.0.0\bin\windows で別の新しいコマンド プロンプトも開きます。

4. コンシューマーを起動するには、コマンド「kafka-console-consumer.bat --zookeeper localhost:2181 --topic test」を入力してください。

5. 上記の 2 つのコマンド プロンプトのスクリーンショットは次のとおりです。

6. これで、プロデューサーのコマンド プロンプトに何かを入力して Enter キーを押すことができます。すると、他のコマンド プロンプトで同じメッセージの内容が表示されるはずです。

7. コンシューマー側でプッシュされたメッセージを確認できれば、Kafka の設定は完了です。

その他の便利なコマンド

1. トピックを一覧表示します: kafka-topics.bat --list --zookeeper localhost:2181

2. トピックの説明: kafka-topics.bat --describe --zookeeper localhost:2181 --topic [トピック名]

3. 最初からさまざまなメッセージを読み取ります: kafka-console-consumer.bat --zookeeper localhost:2181 --topic [トピック名] --from-beginning

4. トピックを削除します: kafka-run-class.bat kafka.admin.TopicCommand --delete --topic [topic_to_delete] --zookeeper localhost:2181

原題: Windows OS での Apache Kafka のセットアップと実行、著者: Gopal Tiwari

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。

<<:  テンセントクラウドは、数分でリソースを提供する新世代のブラックストーン物理サーバーをリリースしました。

>>:  ハイブリッドクラウド アプリケーション ガイド

推薦する

Rexel China は、マルチチャネル戦略とデジタル変革を加速するために Informatica PIM システムを導入しました。

高品質の製品情報は、成功しているブランド、メーカー、販売業者、小売業者に決定的な利点をもたらし、収益...

SEOVIPの助けを借りてSEOの長所と短所について話しましょう

数日前、元旦の休みにA5で見た「百度アルゴリズム更新、SEOVIPランキングが消えた原因を推測」とい...

ディープリンクの取り扱い

ウェブサイトのリンク階層はウェブサイトによって異なります。大きく分けて樹木型と平型の2種類に分けられ...

百度のインデックス回復と降格解除の全過程

これは偶然の出来事です。ドメイン名が Baidu の検索結果から削除され、その後通常の表示に戻り、キ...

金融業界のデジタル変革にはマルチクラウド戦略が第一の選択肢

デジタル変革のプロセスが加速するということは、多くの金融機関がクラウドへの移行という問題に直面するこ...

豆板の商業的救済:「製品」同盟

Douban は成功した製品であると同時に、失敗した製品でもあります。 Douban がユーザー エ...

当時、私たちはあらゆるオンラインマーケティング手法を使用していました

まさに今はインターネットの時代です。人々の衣食住はインターネットと切り離せません。インターネット情報...

Baiduの継続的なアップデートについての私の考え

Baidu は 12 月から継続的に更新しています。3 日から 7 日が経ちました。75% の割合か...

ERPが危機に瀕している理由

[[211676]] ERP の概念、事例、ソリューションが普及しているこの時代においても、ほとんど...

ソフトコピーライターのキャリアの方向性

インターネット上にはソフトコピーライティングに関する記事が無数にあります。しかし、そのほとんどは、優...

WeChatプロモーション:核分裂なしで、どうやって新規ユーザーを引き付けることができるでしょうか?

夜にモーメントを閲覧するたびに、次のような状況に遭遇したことがあるはずです。「XXプラットフォームで...

ウェブサイトのコンバージョン率を向上させる方法

私たちが行うすべての SEO の最終目標はコンバージョンであるため、コンバージョン率が最終目標となり...

WeChat 5.0後の影響と機会の分析

WeChat 5.0のリリースは大きな騒動を引き起こし、多くの人々に恐怖感を与えました。最も心配して...

ブランドマーケティング三部作

昨晩のYY会議で、誰かが「ブランドマーケティングを構築するにはどうすればいいですか?」と質問しました...

Baidu の重さには注意し、その「重さ」に惑わされないでください

多くのウェブマスターは、ウェブサイト全体を重みで扱うことを好みます。重みが高ければ、ウェブマスターは...