Apache Kafkaは、Apache Software Foundationによって開発され、JavaとScalaで記述された分散ストリーミングプラットフォームです。 Apache Kafkaは元々LinkedInによって開発され、2011年にオープンソース化されました。
Apache Kafkaは、システムとアプリケーション間でデータを確実に取得するリアルタイムストリーミングデータパイプラインを構築するために使用されます。統合された、高スループットで低遅延のデータ処理をリアルタイムで提供します。
このチュートリアルでは、Ubuntu18.04にApacheKafkaをインストールして構成する方法を段階的に説明します。このガイドでは、ApacheKafkaとApacheZookeeperのインストールと構成について説明します。
- Ubuntu 18.04
- root権限
何をしますか?
- JavaOpenJDK8をインストールします
- ApacheZookeeperをインストールする
- ApacheKafkaをダウンロードして構成する
- ApacheKafkaとZookeeperをサービスとして構成する
- テスト
ステップ1-JavaOpenJDK8をインストールします
Apache KafkaはJavaとScalaで記述されているため、サーバーにJavaをインストールする必要があります。
パッケージをインストールする前に、リポジトリを更新してすべてのパッケージをアップグレードしてください。
sudo apt update
sudo apt upgrade
次に、以下のaptコマンドを使用してUbuntuリポジトリからJavaOpenJDK8をインストールします。
sudo apt install openjdk-8-jdk -y
インストールが完了したら、Javaがインストールされているバージョンを確認してください。
java -version
これで、Ubuntu18.04にインストールされたJavaOpenJDK8が表示されます。
Apache Kafkaは、コントローラーの選出、クラスターメンバーシップ、およびトピックの構成にzookeeperを使用します。 Zookeeperは、分散構成および同期サービスです。
このステップでは、UbuntuリポジトリからZookeeperをインストールします。
以下のaptコマンドを実行します。
sudo apt install zookeeperd -y
インストールが完了するまで待ちます。
このステップでは、KafkaWebサイトからダウンロードできるバイナリファイルを使用してApacheKafkaをインストールします。 apache Kafkaをインストールして構成し、root以外のユーザーとして実行します。
'kafka'という名前の新しいユーザーを追加します。
useradd -d /opt/kafka -s /bin/bash kafka
passwd kafka
次に、「/ opt」ディレクトリに移動し、wgetを使用してApacheKafkaバイナリファイルをダウンロードします。
cd /opt
wget http://www-eu.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz
次に、新しいkafkaディレクトリを作成します。
mkdir -p /opt/kafka
kafka _*。tar.gzファイルを「kafka」ディレクトリに抽出し、ディレクトリの所有者を「kafka」ユーザーとグループに変更します。
tar -xf kafka_2.11-2.0.0.tgz -C /opt/kafka --strip-components=1
sudo chown -R kafka:kafka /opt/kafka
次に、「kafka」ユーザーにログインし、server.properties構成を編集します。
su - kafka
vim config/server.properties
次の構成を行の最後に貼り付けます。
delete.topic.enable = true
保存して終了します。
ApacheKafkaの構成が完了しました。
このステップでは、Apache Kafkaをサービスとして構成し、zookeeperの通関サービス構成を構成します。
'/ lib / systemd / system'ディレクトリに移動し、新しいサービスファイル'zookeeper.service'を作成します。
cd /lib/systemd/system/
vim zookeeper.service
以下の設定を貼り付けてください。
[Unit] Requires=network.target remote-fs.target After=network.target remote-fs.target [Service] Type=simple User=kafka ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
保存して終了します。
次に、ApacheKafkaサービスファイル「kafka.service」を作成します。
vim kafka.service
以下の設定を貼り付けてください。
[Unit] Requires=zookeeper.service After=zookeeper.service [Service] Type=simple User=kafka ExecStart=/bin/sh -c '/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties' ExecStop=/opt/kafka/bin/kafka-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
保存して終了します。
systemdマネージャーの構成をリロードします。
systemctl daemon-reload
次に、ApacheZookeeperおよびApacheKafkaサービスを開始します。
systemctl start zookeeper
systemctl enable zookeeper
systemctl start kafka
systemctl enable kafka
ApacheZookeeperとKafkaが稼働しています。
ポート「2181」で実行されているZookeeperとポート「9092」で実行されているKafkaについては、以下のnetstatコマンドを使用して確認してください。
netstat -plntu
'kafka'ユーザーにログインし、'bin/'ディレクトリに移動します。
su - kafka
cd bin/
次に、「kafka-topics.sh」実行可能ファイルを使用して「HakaseTesting」という名前の新しいトピックを作成します。
./kafka-topics.sh --create --zookeeper localhost:2181 \
--replication-factor 1 --partitions 1 \
--topic HakaseTesting
そして、「HakaseTesting」トピックを指定して「kafka-console-producer.sh」を実行します。
./kafka-console-producer.sh --broker-list localhost:9092 \
--topic HakaseTesting
次に、新しいターミナルを開いてサーバーにログインし、「kafka」ユーザーにログインします。
「HakaseTesting」トピックに対して「kafka-console-consumer.sh」を実行します。
./kafka-console-consumer.sh --bootstrap-server localhost:9092 \
--topic HakaseTesting --from-beginning
また、「kafka-console-producer.sh」シェルから入力を入力すると、「kafka-console-consumer.sh」シェルでも同じ結果が得られます。
Ubuntu18.04でのApacheKafkaのインストールと構成が正常に完了しました。