もっと詳しく

Apache Kafkaは、ApacheSoftwareFoundationによって開発されたオープンソースの分散イベントストリーミングプラットフォームです。 これはScalaとJavaプログラミング言語で書かれています。 Kafkaは、Javaプログラミング言語をサポートする任意のプラットフォームにインストールできます。

このチュートリアルでは、Ubuntu 22.04LTSLinuxシステムにApacheKafkaをインストールするための手順を説明します。 また、Kafkaでトピックを作成し、プロデューサーノードとコンシューマーノードを実行する方法も学習します。

前提条件

Ubuntu22.04Linuxシステムへのsudo特権アカウントアクセスが必要です。

ステップ1-Javaのインストール

JavaをサポートするシステムでApacheKafkaサーバーを実行できます。 したがって、UbuntuシステムにJavaがインストールされていることを確認してください。

次のコマンドを使用して、公式リポジトリからUbuntuシステムにOpenJDKをインストールします。

sudo apt update  
sudo apt install default-jdk 

現在アクティブなJavaバージョンを確認します。

java --version 

Output:

openjdk version "11.0.15" 2022-04-19 OpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1) OpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1, mixed mode, sharing)

ステップ2–最新のApacheKafkaをダウンロードする

最新のApacheKafkaバイナリファイルを公式からダウンロードできます ダウンロードページ。 または、以下のコマンドでKafka3.2.0をダウンロードできます。

wget https://dlcdn.apache.org/kafka/3.2.0/kafka_2.13-3.2.0.tgz 

次に、ダウンロードしたアーカイブファイルを抽出し、それらを下に配置します / usr / local / kafka ディレクトリ。

tar xzf kafka_2.13-3.2.0.tgz 
sudo mv kafka_2.13-3.2.0 /usr/local/kafka 

ステップ3–Systemdスタートアップスクリプトを作成する

次に、ZookeeperおよびKafkaサービスのsystemdユニットファイルを作成します。 これにより、Kafkaサービスを簡単に開始/停止できます。

まず、Zookeeperのsystemdユニットファイルを作成します。

sudo nano /etc/systemd/system/zookeeper.service 

そして、次のコンテンツを追加します。

[Unit]
Description=Apache Zookeeper server
Documentation=http://zookeeper.apache.org
Requires=network.target remote-fs.target
After=network.target remote-fs.target

[Service]
Type=simple
ExecStart=/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties
ExecStop=/usr/local/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

ファイルを保存して閉じます。

次に、Kafkaサービスのsystemdユニットファイルを作成します。

sudo nano /etc/systemd/system/kafka.service 

以下のコンテンツを追加してください。 必ず正しい設定をしてください JAVA_HOME システムにインストールされているJavaによるパス。

[Unit]
Description=Apache Kafka Server
Documentation=http://kafka.apache.org/documentation.html
Requires=zookeeper.service

[Service]
Type=simple
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh

[Install]
WantedBy=multi-user.target

ファイルを保存して閉じます。

systemdデーモンをリロードして、新しい変更を適用します。

sudo systemctl daemon-reload 

これにより、システム環境内のすべてのsystemdファイルがリロードされます。

ステップ4–ZookeeperとKafkaサービスを開始する

両方のサービスを1つずつ開始しましょう。 まず、ZooKeeperサービスを開始してから、Kafkaを開始する必要があります。 systemctlコマンドを使用して、単一ノードのZooKeeperインスタンスを開始します。

sudo systemctl start zookeeper 
sudo systemctl start kafka 

両方のサービスステータスを確認します。

sudo systemctl status zookeeper 
sudo systemctl status kafka 

それでおしまい。 これで、ApacheKafkaサーバーがUbuntu22.04システムに正常にインストールされました。 次に、Kafkaサーバーでトピックを作成します。

ステップ5–Kafkaでトピックを作成する

Kafkaは、それを処理するための複数のビルド済みシェルスクリプトを提供します。 まず、単一のレプリカを持つ単一のパーティションで「testTopic」という名前のトピックを作成します。

cd /usr/local/kafka 
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic testTopic 

Output

Created topic testTopic.

The --replication-factor 作成されるデータのコピーの数を記述します。 単一のインスタンスで実行しているため、この値を1のままにします。

をセットする --partitions データを分割するブローカーの数としてのオプション。 単一のブローカーで実行しているため、この値を1に保ちます。

上記と同じコマンドを実行して、複数のトピックを作成できます。 その後、以下のコマンドを実行して、Kafkaで作成されたトピックを確認できます。

bin/kafka-topics.sh --list --bootstrap-server localhost:9092 

Output

testTopic

または、トピックを手動で作成する代わりに、存在しないトピックがに公開されたときにトピックを自動作成するようにブローカーを構成することもできます。

ステップ6–Kafkaでメッセージを送受信する

「プロデューサー」は、Kafkaにデータを入れるプロセスです。 Kafkaには、ファイルまたは標準入力から入力を受け取り、それをメッセージとしてKafkaクラスターに送信するコマンドラインクライアントが付属しています。 デフォルトのKafkaは、各行を個別のメッセージとして送信します。

プロデューサーを実行してから、コンソールにいくつかのメッセージを入力してサーバーに送信しましょう。

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testTopic 

>Welcome to kafka
>This is my first topic
>

このコマンドを終了するか、この端末を実行したままにして、さらにテストすることができます。 次のステップで、Kafkaコンシューマープロセスへの新しいターミナルを開きます。

Kafkaには、Kafkaクラスターからデータを読み取り、メッセージを標準出力に表示するためのコマンドラインコンシューマーもあります。

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testTopic --from-beginning 

Welcome to kafka
This is my first topic

さて、あなたがまだ別のターミナルでKafkaプロデューサーを実行しているなら。 そのプロデューサー端末にテキストを入力するだけです。 すぐにコンシューマー端末に表示されます。 作業中のKafkaプロデューサーとコンシューマーの以下のスクリーンショットを参照してください。

結論

このチュートリアルは、Ubuntu22.04LinuxシステムにApacheKafkaサーバーをインストールして構成するのに役立ちました。 さらに、Kafkaサーバーで新しいトピックを作成し、ApacheKafkaを使用してサンプルの本番プロセスとコンシューマープロセスを実行する方法を学びました。

The post Ubuntu22.04にApacheKafkaをインストールする方法– TecAdmin appeared first on Gamingsym Japan.