GNU/Linux >> Linux の 問題 >  >> Panels >> Panels

Ubuntu18.04にApacheKafkaをインストールする方法

このチュートリアルでは、Ubuntu18.04を実行しているVPSにApacheKafkaをインストールして設定する方法を示します。

KafkaまたはApacheKafkaは、pub-sub(パブリッシュ/サブスクライブ)モデルの原則に基づく分散メッセージングシステムです。これにより、分類可能なレコードのストリームをパブリッシュおよびサブスクライブできます。 信じられないほど速い拡張性が高いフォールトトレラント システムであり、大量のデータをリアルタイムで処理するように設計されています 。 Apache Kafkaは、メッセージブローカーの代わりに使用することもできます。これにより、レコードのストリームを処理/変換できます。 Kafkaはメッセージングシステムとして使用できますが、かなり大規模です。全体として、ApacheKafkaは正しく使用すると非常に強力なツールです。

前提条件

  • 4GB以上のメモリを搭載したUbuntu18.04を実行しているサーバー。このチュートリアルでは、マネージドUbuntu18.04VPSの1つを使用します。
  • root権限でのSSHアクセス、または「root」ユーザー自体へのアクセス

ステップ1:SSH経由でログインし、システムを更新する

rootユーザーとしてSSHを使用してUbuntu18.04VPSにログインします:

ssh root@IP_Address -p Port_number

必要に応じて、「root」をsudo権限を持つユーザーに置き換えます。さらに、「IP_Address」と「Port_Number」をサーバーのそれぞれのIPアドレスとSSHポートに置き換えます。

それが完了したら、次のコマンドを使用して、サーバーに適切なUbuntuバージョンがインストールされているかどうかを確認できます。

# lsb_release -a

次の出力が得られるはずです:

Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic

次に、次のコマンドを実行して、サーバーにインストールされているすべてのパッケージが最新の利用可能なバージョンに更新されていることを確認します。

# apt update && apt upgrade

ステップ2:システムユーザーを追加する

「kafka」という新しいユーザーを作成してから、この新しいユーザーをsudoerとして追加します。

# adduser kafka
# usermod -aG sudo kafka

ステップ3:Javaをインストールする

KafkaはJavaで記述されているため、動作させるにはJVMが必要です。このチュートリアルでは、2018年9月からUbuntuに付属しているJavaの標準バージョンであるOpenJDK11を使用します。

# apt install default-jre

ステップ4:ApacheKafkaをダウンロードする

それでは、Kafkaをダウンロードしましょう。ここにアクセスして、必要に応じて最新リリースをダウンロードできます。執筆時点での最新のダウンロードリンクは、すでに例に入力されています。

# su - kafka
wget https://www-us.apache.org/dist/kafka/2.2.0/kafka_2.12-2.2.0.tgz -O kafka.tgz

Apache Kafkaバイナリがダウンロードされたので、Kafkaユーザーディレクトリに解凍する必要があります

$ tar -xzvf kafka.tgz --stripe 1

ステップ5:ApacheKafkaを構成する

ApacheKafkaを構成する時が来ました。デフォルトでは、メッセージを投稿できるトピック、カテゴリ、またはグループを削除することは許可されていません。この動作を変更するには、デフォルトの構成を編集する必要があります。

$ nano ~/config/server.properties

構成ファイルの最後の行に次の行を追加します。

delete.topic.enable =true

ステップ6:ApacheKafka用のシステムユニットファイルを作成する

Kafkaを実行するには、Zookeeperが必要です。 Kafkaはzookeeperを使用するため、Apache Kafkaサービスを開始する前に、まずZookeeperサーバーのインスタンスを起動する必要があります。このチュートリアルでは、Kafkaにパッケージ化された便利なスクリプトを使用して、手っ取り早い単一ノードのZookeeperインスタンスを取得します。

ファイルパス/etc/systemd/system/zookeeper.serviceで新しいファイルを開きます 、お好みのテキストエディタで開きます。 nanoを使用します このチュートリアルのために。

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

次の行を貼り付けます:

[Unit]
Requires=network.target remote-fs.target
After=network.target remote-fs.target
[Service]
Type=simple
User=kafka
ExecStart=/home/kafka/bin/zookeeper-server-start.sh /home/kafka/config/zookeeper.properties
ExecStop=/home/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target

それでは、ファイルパス/etc/systemd/system/kafka.serviceにkafkaのシステムユニットファイルを作成しましょう。 :

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

次の行をファイルに貼り付けます:

[Unit]
Requires=zookeeper.service
After=zookeeper.service
[Service]
Type=simple
User=kafka
ExecStart=/bin/sh -c '/home/kafka/bin/kafka-server-start.sh /home/kafka/config/server.properties > /home/kafka/kafka.log 2>&1'
ExecStop=/home/kafka/bin/kafka-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target

新しいシステムユニットが追加されたので、Apache Kafkaを起動時に自動的に実行してから、サービスを実行できるようにします。

$ sudo systemctl enable kafka
$ sudo systemctl start kafka

ステップ7:トピックを作成する

このステップでは、「FirstTopic」という名前のトピックを作成します。パーティションは1つで、レプリカは1つだけです。

$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic FirstTopic

Created topic "FirstTopic".

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

パーティション値は、データを分割するブローカーの数を表します。単一のブローカーで実行しているため、値は1になります。

これで、list topicコマンドを実行して、Kafkaで作成されたトピックを確認できます。

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

FirstTopic

ステップ8:ApacheKafkaを使用してメッセージを送信する

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

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

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

>Welcome to kafka
>This is the content of our first topic
>

ターミナルを開いたままにして、次のステップに進みましょう。

ステップ9:ApacheKafkaをコンシューマーとして使用する

Apache Kafkaには、コンシューマーがKafkaからデータを読み取るためのコマンドラインもあります。これは、コンシューマーがKafkaを使用して標準出力でメッセージを表示できるようにするためです。

新しいSSHセッションで次のコマンドを実行します。

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

Welcome to kafka
This is the content of our first topic

それでおしまい! ApacheKafkaが正常にインストールおよびセットアップされました。これで、前の手順で説明したように、プロデューサー端末でいくつかのメッセージを入力できます。メッセージはすぐに消費者向け端末に表示されます。

もちろん、Ubuntu 18.04 VPSがホストされている場合は、Ubuntu18.04にApacheKafkaをインストールする方法を知る必要はありません。その場合は、サポートチームにUbuntu18.04にApacheKafkaをインストールするように依頼するだけです。これらは24時間年中無休で利用可能であり、Apache Kafkaのインストールや、その他の要件に対応することができます。

PS。 Ubuntu18.04にApacheKafkaをインストールする方法に関するこのブログ投稿を読んで楽しんでいる場合は、以下のショートカットを使用してソーシャルネットワークで自由に共有するか、コメントセクションにコメントを残してください。ありがとうございます。


Panels
  1. Ubuntu20.04にApacheKafkaをインストールする方法

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

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

  1. Ubuntu18.04LTSにApacheKafkaをインストールする方法

  2. Ubuntu16.04にRをインストールする方法

  3. UbuntuにApacheをインストールするにはどうすればいいですか?

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

  2. Ubuntu18.04にGoをインストールする方法

  3. Ubuntu18.04にApacheCouchDBをインストールする方法