GNU/Linux >> Linux の 問題 >  >> Debian

Debian10/9にApacheKafkaをインストールする方法

Apache Kafkaは、分散ストリーミングプラットフォームです。システム間またはアプリケーション間でデータを取得するためのリアルタイムストリーミングデータパイプラインを構築するのに役立ちます。もう1つの便利な機能は、データのストリームを変換したり、データのストリームに反応したりできるリアルタイムストリーミングアプリケーションです。

このチュートリアルは、Debian 10、Debian 9、Debian8システムにApacheKafkaをインストールするのに役立ちます。

ステップ1–Javaをインストールする

Apache Kafkaを実行するには、Javaが必要でした。システムにJavaがインストールされている必要があります。以下のコマンドを実行して、公式PPAからシステムにデフォルトのOpenJDKをインストールします。

sudo apt update
sudo apt install default-jdk

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

ApacheKafkaバイナリファイルを公式ダウンロードWebサイトからダウンロードします。近くのミラーを選択してダウンロードすることもできます。

wget http://www-us.apache.org/dist/kafka/2.7.0/kafka_2.13-2.7.0.tgz

次に、アーカイブファイルを抽出します

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

ステップ3–Systemdユニットファイルを作成する

次に、ZookeeperおよびKafkaサービスのsystemdユニットファイルを作成します。これは、systemctlコマンドを使用して開始/停止するKafkaサービスを管理するのに役立ちます。

まず、以下のコマンドを使用して、Zookeeperのsystemdユニットファイルを作成します。

vim /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

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

次に、次のコマンドを使用してKafkasystemdユニットファイルを作成します。

vim /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-1.11.0-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デーモンをリロードして、新しい変更を適用します。

systemctl daemon-reload

ステップ4–Kafkaサーバーを起動します

KafkaにはZooKeeperが必要だったので、まず、システムでZooKeeperサーバーを起動します。 Kafkaで利用可能なスクリプトを使用して、単一ノードのZooKeeperインスタンスを開始できます。

sudo systemctl start zookeeper

次に、Kafkaサーバーを起動し、実行ステータスを表示します。

sudo systemctl start kafka
sudo systemctl status kafka

全部終わった。 Kafkaのインストールは正常に完了しました。このチュートリアルの一部は、Kafkaサーバーの操作に役立ちます。

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

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

cd /usr/local/kafka
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testTopic

Created topic testTopic.

レプリケーション係数は、作成されるデータのコピーの数を示します。単一のインスタンスで実行しているため、この値を1のままにします。

データを分割するブローカーの数として、パーティションオプションを設定します。単一のブローカーで実行しているため、この値を1に保ちます。

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

bin/kafka-topics.sh --list --zookeeper localhost:2181

testTopic
TecAdminTutorial1
TecAdminTutorial2

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

ステップ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コンシューマープロセスへの新しいターミナルを開きます。

ステップ7–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プロデューサー(ステップ#6)をまだ実行している場合。そのプロデューサー端末にテキストを入力するだけです。コンシューマー端末にすぐに表示されます。作業中のKafkaプロデューサーとコンシューマーの以下のスクリーンショットを参照してください:

結論

これで、DebianLinuxマシンにKafkaサービスが正常にインストールおよび構成されました。


Debian
  1. Debian10にApacheMavenをインストールする方法

  2. Debian11にApacheMavenをインストールする方法

  3. Debian 11 /Debian10にApacheCassandraをインストールする方法

  1. Debian10/9/8にApacheMavenをインストールする方法

  2. Debian10/9/8にErlangをインストールする方法

  3. BowerをDebianにインストールする方法10/9/8

  1. Debian9にApacheをインストールする方法

  2. Debian9にApacheCassandraをインストールする方法

  3. Debian10にApacheActiveMQをインストールする方法