GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS8にApacheKafkaをインストールする方法

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

このチュートリアルは、Apache KafkaCentOS8またはRHEL8Linuxシステムのインストールに役立ちます。

前提条件

  • 新しくインストールしたシステムは、サーバーの初期設定に従うことをお勧めします。
  • sudo権限アカウントを持つCentOS8システムへのシェルアクセス。

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

Apache Kafkaを実行するには、システムにJavaがインストールされている必要があります。次のコマンドを実行して、OpenJDKをマシンにインストールできます。また、他の必要なツールをいくつかインストールします。

sudo dnf install java-11-openjdk wget vim

ステップ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–KafkaSystemdユニットファイルのセットアップ

CentOS 8は、systemdを使用してサービス状態を管理します。そのため、ZookeeperおよびKafkaサービス用のsystemdユニットファイルを作成する必要があります。これは、開始/停止する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/bin/bash /usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties
ExecStop=/usr/bin/bash /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/jre-11-openjdk"
ExecStart=/usr/bin/bash /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
ExecStop=/usr/bin/bash /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

全部終わった。これで、CentOS 8にKafkaが正常にインストールされました。このチュートリアルの次のパートでは、Kafkaクラスターでトピックを作成し、Kafkaプロデューサーおよびコンシューマーサービスを操作するのに役立ちます。

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

Apache 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
KafkaonCentOS8
TutorialKafkaInstallCentOS8

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

ステップ6–ApacheKafkaのプロデューサーとコンシューマー

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

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

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

>Welcome to kafka
>This is my first topic
>

次に、新しいターミナルを開いて、ApacheKafkaコンシューマープロセスを実行します。 Kafkaは、Kafkaクラスターからデータを読み取り、メッセージを標準出力に表示するためのコマンドラインコンシューマーも提供します。

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

Welcome to kafka
This is my first topic

–from-beginningオプションは、選択したトピックの先頭からメッセージを読み取るために使用されます。このオプションをスキップして、最新のメッセージのみを読むことができます。

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

結論

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


Cent OS
  1. CentOS8にApacheCassandraをインストールする方法

  2. CentOS7にApacheをインストールする方法

  3. CentOSにApacheTomcat8をインストールする方法

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

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

  3. CentOS8にApacheをインストールする方法

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

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

  3. CentOS7にApacheMavenをインストールする方法