はじめに
Kafka を手軽に試せないかな、と思ったら macOS だと Homebrew でインストールできるようだったので試してみた。
インストール&起動
以下のコマンドでインストールできる。 依存関係で JDK 18 や、openssl関連、Zookeeper がインストールされる。
% brew install kafka
Zookeeper, Kafka を起動する。
% brew services start zookeeper ==> Successfully started `zookeeper` (label: homebrew.mxcl.zookeeper)
% brew services start kafka ==> Successfully started `kafka` (label: homebrew.mxcl.kafka)
以下のコマンドで起動しているか確認できる。
% brew services list Name Status User File kafka started daisukeshimizu ~/Library/LaunchAgents/homebrew.mxcl.kafka.plist zookeeper started daisukeshimizu ~/Library/LaunchAgents/homebrew.mxcl.zookeeper.plist
Kakfa の操作
チュートリアルの内容をさらっとやってみる。
トピック作成
トピックは、Kafka のブローカーにメッセージ(データ)を保存するための単位、メッセージの種類ごとに分けて保存するためのカテゴリー・分類として指定するもの、というイメージ。
kafka-topics
コマンドの --create
オプションを使ってトピックを作成する。
v2.6 とかだと --zookeeper
オプションが利用可能だったけど、--zookeeper
オプションは無くなっていたようで指定できなかった。もともと非推奨とされていたけど *1、どのバージョンで使えなくなっていたのかはわかってない。
% kafka-topics --create --topic quickstart-events --bootstrap-server localhost:9092 Created topic quickstart-events.
作成したトピックの詳細を表示してみる。
--replication-factor
や --partitions
は指定していないので 0 となっている。
% kafka-topics --describe --topic quickstart-events --bootstrap-server localhost:9092 Topic: quickstart-events TopicId: vstR8s5VTDSYYwGSzEfeLQ PartitionCount: 1 ReplicationFactor: 1 Configs: segment.bytes=1073741824 Topic: quickstart-events Partition: 0 Leader: 0 Replicas: 0 Isr: 0
トピックへのデータ登録
kafka-console-producer
コマンドを使って、先ほど作成したトピックへデータを登録してみる。
% kafka-console-producer --topic quickstart-events --bootstrap-server localhost:9092
コンソール上 >
で待ち状態となるので、以下のように入力し、Ctrl
+ C
でキャンセルする。
>This is my first event >This is my second event
トピックのデータ取得
kafka-console-consumer
コマンドを使って、先ほどトピックへ登録したデータを取得してみる。--from-beginning
オプションを使えば、残っているうちの一番最初のデータから取得できる。
% kafka-console-consumer --topic quickstart-events --from-beginning --bootstrap-server localhost:9092
以下のような出力が得られる。
This is my first event This is my second event
まとめ
macOS に Kafka をインストールして、すごく基本的な操作をやってみた。