最新の Kafka をダウンロードし、展開します。
wget wget https://dlcdn.apache.org/kafka/3.7.0/kafka_2.12-3.7.0.tgz
tar -xzf kafka_2.13-3.7.0.tgz
cd kafka_2.13-3.7.0
ZooKeeper を起動します。
bin/zookeeper-server-start.sh config/zookeeper.properties
Kafka broker を起動します。
bin/kafka-server-start.sh config/server.properties
トピックを作成します。
bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092
作成したトピックを参照します。
bin/kafka-topics.sh --describe --topic quickstart-events --bootstrap-server localhost:9092
実行結果
Topic: quickstart-event TopicId: 3Ulbae19Q_a5YGccG1kTpQ PartitionCount: 1 ReplicationFactor: 1 Configs: segment.bytes=1073741824
Topic: quickstart-event Partition: 0 Leader: 1 Replicas: 1 Isr: 1
作成したトピックにレコードを書き込みます。
bin/kafka-console-producer.sh \
--topic quickstart-events \
--bootstrap-server localhost:9092
###
> This is my first event
> This is my second event
> This is my third event
作成したトピックからレコードを読み込みます。
bin/kafka-console-consumer.sh \
--topic quickstart-events \
--from-beginning \
--bootstrap-server localhost:9092
実行結果
This is my first event
This is my second event
This is my third event
bin/kafka-console-consumer.sh --topic quickstart-event \
--partition 0 --offset 2 --bootstrap-server localhost:9092
実行結果
This is my second event
This is my third event
docker compose up -d
トピックを作成する。
docker compose exec kafka \
/opt/kafka/bin/kafka-topics.sh \
--create \
--topic quickstart-event \
--bootstrap-server localhost:9092
作成したトピックの詳細を確認する。
docker compose exec kafka \
/opt/kafka/bin/kafka-topics.sh \
--describe \
--topic quickstart-event \
--bootstrap-server localhost:9092
実行結果
Topic: quickstart-event TopicId: 3Ulbae19Q_a5YGccG1kTpQ PartitionCount: 1 ReplicationFactor: 1 Configs: segment.bytes=1073741824
Topic: quickstart-event Partition: 0 Leader: 1 Replicas: 1 Isr: 1
レコードを Kafka に書き込みます。
docker compose exec kafka \
/opt/kafka/bin/kafka-console-producer.sh \
--topic quickstart-event \
--bootstrap-server localhost:9092
###
> This is my first event
> This is my second event
> This is my third event
書き込んだレコードを読み込みます。
docker compose exec kafka \
/opt/kafka/bin/kafka-console-consumer.sh \
--topic quickstart-event \
--from-beginning \
--bootstrap-server localhost:9092
パーティション、オフセットを指定した読み込み。
docker compose exec kafka \
/opt/kafka/bin/kafka-console-consumer.sh \
--topic quickstart-event \
--partition 0 \
--offset 1 \
--bootstrap-server localhost:9092