Apache Kafka は、1 日に何兆ものイベントを処理できる強力な分散型イベント ストリーミング プラットフォームです。もともと LinkedIn によって開発され、2011 年初めにオープンソース化された Kafka は、多くの最新のデータ アーキテクチャの中心的なバックボーンに進化しました。このガイドでは、Apache Kafka のアーキテクチャの理解からセットアップ、基本操作の実行まで、Apache Kafka を使い始めるために必要なすべてのことを説明します。
Apache Kafka は、リアルタイムのデータ フィードを処理するように設計されています。データ ストリームを処理するための高スループット、低遅延のプラットフォームとして機能します。 Kafka は、リアルタイム ストリーミング データ パイプラインとデータ ストリームに適応するアプリケーションを構築するためによく使用されます。一般的な使用例には、ログ集約、リアルタイム分析、ストリーム処理などがあります。
セットアップと操作に入る前に、Kafka のいくつかの重要な概念と用語を理解することが重要です。
Apache Kafka のセットアップには、必要なソフトウェアのダウンロード、構成、サービスの開始など、いくつかの手順が必要です。このセクションでは、Kafka 環境をスムーズに起動して実行できるようにするための詳細なチュートリアルを提供します。
Kafka のセットアップを開始する前に、システムが次の前提条件を満たしていることを確認してください。
Java Development Kit (JDK): Kafka には Java 8 以降が必要です。次のコマンドを使用して Java バージョンを確認できます:
java -version
Java がインストールされていない場合は、Oracle Web サイトからダウンロードしてインストールするか、Debian ベースのシステムの場合は apt 、macOS の場合は brew などのパッケージ マネージャーを使用できます。
# For Debian-based systems sudo apt update sudo apt install openjdk-11-jdk # For macOS brew install openjdk@11
Apache ZooKeeper: Kafka は ZooKeeper を使用して分散構成と同期を管理します。 ZooKeeper は Kafka にバンドルされているため、個別にインストールする必要はありません。
Kafka をダウンロード: 公式 Apache Kafka ダウンロード ページにアクセスし、Kafka の最新バージョンをダウンロードします。執筆時点では、Kafka 2.8.0 が最新の安定リリースです。
wget https://downloads.apache.org/kafka/2.8.0/kafka_2.13-2.8.0.tgz
ダウンロードしたファイルを抽出します: tar ファイルを選択したディレクトリに抽出します。
tar -xzf kafka_2.13-2.8.0.tgz cd kafka_2.13-2.8.0
ZooKeeper の開始: Kafka を実行するには ZooKeeper が必要です。提供された構成ファイルを使用して ZooKeeper サービスを開始します。
bin/zookeeper-server-start.sh config/zookeeper.properties
ZooKeeper はデフォルトのポート 2181 で起動する必要があります。ZooKeeper が起動して実行中であることを示すログ メッセージが表示されるはずです。
Kafka ブローカーの開始: 新しいターミナル ウィンドウを開き、提供された構成ファイルを使用して Kafka ブローカーを開始します。
bin/kafka-server-start.sh config/server.properties
Kafka はデフォルトのポート 9092 で起動する必要があります。Kafka ブローカーが起動して実行中であることを示すログ メッセージが表示されるはずです。
デフォルトの構成は開発とテストに適していますが、運用環境用に設定をカスタマイズする必要がある場合があります。主要な構成ファイルには次のものが含まれます:
これらの構成ファイルは、ニーズに合わせて編集できます。たとえば、ログ ディレクトリを変更するには、server.properties ファイルの log.dirs プロパティを編集します。
log.dirs=/path/to/your/kafka-logs
特に Linux サーバーでの管理を容易にするために、ZooKeeper と Kafka 用の systemd サービス ファイルを作成できます。これにより、systemctl を使用してこれらのサービスを開始、停止、再起動できるようになります。
ZooKeeper サービス ファイル: /etc/systemd/system/ ディレクトリに、zookeeper.service という名前のファイルを作成します。
[Unit] Description=Apache ZooKeeper After=network.target [Service] Type=simple ExecStart=/path/to/kafka/bin/zookeeper-server-start.sh /path/to/kafka/config/zookeeper.properties ExecStop=/path/to/kafka/bin/zookeeper-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
Kafka サービス ファイル: /etc/systemd/system/ ディレクトリに kafka.service という名前のファイルを作成します。
[Unit] Description=Apache Kafka After=zookeeper.service [Service] Type=simple ExecStart=/path/to/kafka/bin/kafka-server-start.sh /path/to/kafka/config/server.properties ExecStop=/path/to/kafka/bin/kafka-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
Enable and Start Services: Enable and start the services using systemctl:
sudo systemctl enable zookeeper sudo systemctl start zookeeper sudo systemctl enable kafka sudo systemctl start kafka
You can now manage ZooKeeper and Kafka using standard systemctl commands (start, stop, status, restart).
To verify that your Kafka setup is working correctly, you can perform some basic operations such as creating a topic, producing messages, and consuming messages.
Creating a Topic:
bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
You should see a confirmation message indicating that the topic has been created successfully.
Producing Messages:
bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092
Type a few messages in the console and press Enter after each message.
Consuming Messages:
Open a new terminal window and run:
bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092
You should see the messages you produced in the previous step.
By following these steps, you should have a fully functional Apache Kafka environment set up on your system. This setup forms the foundation for developing and deploying real-time data streaming applications using Kafka.
Getting started with Apache Kafka can seem daunting, but with the right guidance, you can quickly get up to speed. This guide provided a comprehensive introduction to Kafka, from installation to basic operations and building simple producers and consumers. As you continue to explore Kafka, you will uncover its full potential for building robust, real-time data pipelines.
By following this guide, you’ve taken the first steps in mastering Apache Kafka. Happy streaming!
以上がApache Kafka の入門の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。