【Kafka】Apache Kafka ~ 環境構築編 ~

■ はじめに

仕事で、Apache Kafka が都度都度でてきており、
色々と調べている。
今回は、環境構築をメモしておく。

目次

【1】構築手順 - 通常版
 0)前提条件
 1)Kafka のインストール
【2】モジュール起動
 1)zookeeper起動
 2)Kafka broker起動
【3】Quick Start
 1)トピックを作成 & 確認
 2)メッセージを送信
 3)メッセージを受信

【1】構築手順 - 通常版

* すごーい、簡単

0)前提条件

[1] tgz を解凍できる環境
 => Windows の場合、 7zip などをインストールしているといい

https://sevenzip.osdn.jp/download.html

[2] JDK

https://dk521123.hatenablog.com/entry/2023/03/10/193805
Linuxの場合
https://dk521123.hatenablog.com/entry/2017/08/01/234900

# より抜粋

sudo apt update
sudo apt install openjdk-11-jre-headless

1)Kafka のインストール

* 以下の公式サイトから、ダウンロードして任意の場所に解凍する
 => 今回は、v3.4.0 - Scala 2.13 版「kafka_2.13-3.4.0.tgz」をダウンロード

https://kafka.apache.org/downloads

Linuxの場合

# Download
curl -L https://downloads.apache.org/kafka/3.4.0/kafka_2.12-3.4.0.tgz

# 解凍
tar -xzf kafka_2.13-3.4.0.tgz
 
cd kafka_2.13-3.4.0

【2】モジュール起動

1)zookeeper起動

Windowsの場合

# Start the ZooKeeper service
.\bin\windows\zookeeper-server-start.bat config\zookeeper.properties

Linuxの場合

# Start the ZooKeeper service
bin/zookeeper-server-start.sh config/zookeeper.properties

2)Kafka broker起動

Windowsの場合

# Start the Kafka broker service
.\bin\windows\kafka-server-start.bat config\server.properties

Linuxの場合

# Start the Kafka broker service
bin/kafka-server-start.sh config/server.properties

【3】Quick Start

* 公式ドキュメントのQuick Startをやってみる
 => Step1-2は、既に上記で行っているので、Step3~Step5。

https://kafka.apache.org/quickstart
日本語版?
http://mogile.web.fc2.com/kafka/kafka200/quickstart.html

1)トピックを作成 & 確認

Windowsの場合

# STEP 3: CREATE A TOPIC TO STORE YOUR EVENTS
bin\windows\kafka-topics.bat --create --topic quickstart-events --bootstrap-server localhost:9092
# 確認
bin\windows\kafka-topics.bat --describe --topic quickstart-events --bootstrap-server localhost:9092

Linuxの場合

# STEP 3: CREATE A TOPIC TO STORE YOUR EVENTS
bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092
# 確認
bin/kafka-topics.sh --describe --topic quickstart-events --bootstrap-server localhost:9092

2)メッセージを送信

Windowsの場合

# STEP 4: WRITE SOME EVENTS INTO THE TOPIC
bin\windows\kafka-console-producer.bat --topic quickstart-events --bootstrap-server localhost:9092
>This is my first event << イベントを送るために、←をタイプする(1回目)
>This is my second event << イベントを送るために、←をタイプする(2回目)
>バッチ ジョブを終了しますか (Y/N)? Y << Ctrl+Cで終わらせる

Linuxの場合

# STEP 4: WRITE SOME EVENTS INTO THE TOPIC
bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092
# あとは、上記「Windowの場合」を参照

3)メッセージを受信

Windowsの場合

# STEP 5: READ THE EVENTS
bin\windows\kafka-console-consumer.bat --topic quickstart-events --from-beginning --bootstrap-server localhost:9092
This is my first event << 受信できた
This is my second event << 受信できた

Linuxの場合

# STEP 5: READ THE EVENTS
bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092

参考文献

http://java-study.blog.jp/archives/1075373530.html

関連記事

Apache Kafka ~ 環境構築 / Docker compose編 ~
https://dk521123.hatenablog.com/entry/2023/04/24/153846
Apache Kafka ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2023/04/26/103421
Apache Kafka ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/05/01/000000
Apache Kafka ~ Kafkaコマンド ~
https://dk521123.hatenablog.com/entry/2023/05/16/000000
Apache Kafka ~ Strimzi ~
https://dk521123.hatenablog.com/entry/2023/05/08/000133
Apache Kafka ~ 設定値 ~
https://dk521123.hatenablog.com/entry/2023/05/28/151212
Kafka Connect ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2023/04/29/185133
Kafka Connect ~ 基本編 / PostgreSQL
https://dk521123.hatenablog.com/entry/2023/05/02/233806
Amazon MSK ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/04/21/000000
Amazon MSK ~ 基本編 / Connector ~
https://dk521123.hatenablog.com/entry/2023/05/20/003516
ScalaApache Kafka / Producer ~
https://dk521123.hatenablog.com/entry/2023/04/27/235703
ScalaApache Kafka / Consumer ~
https://dk521123.hatenablog.com/entry/2023/04/28/014737