はじめに
Apache Kafkaは、高性能データパイプラインを処理する機能を備えた分散イベントストリーミングプラットフォームです。もともとはLinkedinによって開発され、その後オープンソースプラットフォームとして公開され、世界中の多くのIT企業で使用されていました。
この記事では、Ubuntu20.04にKafkaをインストールして構成する方法を説明します。
ApacheKafkaのインストール
前提条件
Apache Kafkaでは、Ubuntu20.04マシンにJavaがインストールされている必要があります。まず、次のコマンドでOSを更新しましょう:
$ sudo apt update
OSが更新されたら、Javaのインストールに進みます:
$ sudo apt install openjdk-11-jre-headless
次のコマンドを実行して、Javaが正常にインストールされたことを確認します。
$ java --version
出力:
Kafkaのダウンロード
次に、KafkaソースをUbuntu20.04にダウンロードする必要があります。 Apache Kafkaの公式Webサイト(https://kafka.apache.org/downloads
)からダウンロードすることを強くお勧めします。この記事を書いている時点では、最新バージョンは2.7.0です。次のコマンドでダウンロードできます:
$ cd $HOME
$ wget https://downloads.apache.org/kafka/2.7.0/kafka-2.7.0-src.tgz
/ usr /localディレクトリにkafka-serverという名前の新しいフォルダを作成しましょう:
$ sudo mkdir /usr/local/kafka-server
次に、ダウンロードしたKafkaのソースを/ usr / local/kafka-serverディレクトリに抽出します。
$ sudo tar xf $HOME/kafka-2.7.0-src.tgz -C /usr/local/kafka-server
抽出されたApacheKafkaバイナリファイルはすでにあります。実行してこれらのファイルを一覧表示する:
$ ls /usr/local/kafka-server/kafka-2.7.0-src/bin/
出力:
それでは、KafkaとZookeeperをUbuntu20.04でデーモンとして実行するときが来ました。これを行うには、KafkaとZookeeperの両方のSystemdユニットファイルを作成する必要があります。
KafkaおよびZookeeper用のSystemdUnitファイルの作成
お気に入りのエディタを使用して、次のように2つのファイルを作成します。
/etc/systemd/system/zookeeper.service
[Unit] Description=Apache Zookeeper Server Requires=network.target remote-fs.target After=network.target remote-fs.target [Service] Type=simple ExecStart=/usr/local/kafka-server/kafka-2.7.0-src/bin/zookeeper-server-start.sh /usr/local/kafka-server/kafka-2.7.0-src/config/zookeeper.properties ExecStop=/usr/local/kafka-server/kafka-2.7.0-src/bin/zookeeper-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
/etc/systemd/system/kafka.service
[Unit] Description=Apache Kafka Server Documentation=http://kafka.apache.org/documentation.html Requires=zookeeper.service After=zookeeper.service [Service] Type=simple Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64" ExecStart=/usr/local/kafka-server/kafka-2.7.0-src/bin/kafka-server-start.sh /usr/local/kafka-server/kafka-2.7.0-src/config/server.properties ExecStop=/usr/local/kafka-server/kafka-2.7.0-src/bin/kafka-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
変更を適用するには、systemdデーモンをリロードする必要があり、サービスも有効にする必要があります。
$ sudo systemctl daemon-reload $ sudo systemctl enable --now zookeeper.service $ sudo systemctl enable --now kafka.service $ sudo systemctl status kafka zookeeper
出力:
Apache Kafka(CMAK)用のクラスターマネージャーのインストール
次のステップは、ApacheKafkaのClusterManagerの略であるCMAKをインストールすることです。 CMAKは、Kafkaサービスを管理および監視するためのオープンソースツールです。もともとはYahooによって開発されました。 CMAKをインストールするには、次のコマンドを実行します。
$ cd $HOME $ git clone https://github.com/yahoo/CMAK.git
CMAKの構成
次に、お気に入りのエディターを使用してCMAK構成を変更します。
$ vim ~/CMAK/conf/application.conf
このチュートリアルでは、Zookeeperが localhostになるように構成します 、 cmak.zkhostsの値を変更しましょう localhost:2181として
cmak.zkhostsを見つけることができます 28行目。
ここで、アプリケーションをデプロイするためにzipファイルを作成する必要があります。
$ cd ~/CMAK $ ./sbt clean dist
完了するまでに約1分かかります。出力は次のようになります:
CMAKサービスの開始
〜/ CMAK / target / Universalディレクトリに移動し、zipファイルを抽出します:
$ cd ~/CMAK/target/universal $ unzip cmak-3.0.0.5.zip
cmak-3.0.0.5.zipファイルを解凍した後、ディレクトリに移動し、cmakバイナリを実行します。
$ cd cmak-3.0.0.5 $ bin/cmak
デフォルトでは、cmakサービスはポート9000で実行されます。
Webブラウザーを使用して、http://
現在、利用可能なクラスターはありません。 クラスタの追加をクリックして、新しいクラスタを追加する必要があります クラスター ドロップダウンリスト。
次に、以下のフォームに要求された情報を入力します:クラスター名、クラスターZookeeperホスト、Kafkaバージョンなど。例:
他のオプションはデフォルト値のままにして、保存をクリックします。
終わり。クラスタは正常に作成されました。
次に、サンプルトピックを作成します。 「LinuxWaysTopic」という名前のトピックを作成するとします。 CMAKがまだ実行中であり、新しい端末を起動してから、次のコマンドを実行することを念頭に置いてください。
$ cd /usr/local/kafka-server/kafka-2.7.0-src
$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic LinuxWaysTopic
出力:
クラスタビューに移動し、トピック>リストをクリックします
結論
これで、Ubuntu20.04LTSマシンにApacheKafkaが正常にインストールおよび構成されました。
ご不明な点がございましたら、お気軽にコメントをお寄せください。ありがとうございます!