-
Notifications
You must be signed in to change notification settings - Fork 0
DNET_KafkaTutorial
ver 2.7.0、Ubuntu 20.04(on WSL2)
Javaのインストール(BrokerだけでなくClientにも必要)
sudo apt update
sudo apt install default-jdk
java --version
wget https://archive.apache.org/dist/kafka/2.7.0/kafka_2.13-2.7.0.tgz
tar xzf kafka_2.13-2.7.0.tgz
mv kafka_2.13-2.7.0 /usr/local/kafka
cd /usr/local/kafka
dir
設定は特にない。以下のコマンドを実行できる。
cd /usr/local/kafka
bin/kafka-topics.sh --list --zookeeper localhost:2181
※ この段階ではブローカが存在しないので動かない。
- ローカルに入れたくなかったので、割愛する。
- 参考中に、インストールについての記述記事あり。
以下を修正したdocker-compose-.ymlを使う。
https://github.com/wurstmeister/kafka-docker/blob/master/docker-compose-single-broker.yml
version: '2'
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
KAFKA_CREATE_TOPICS: "test:1:1"
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- ./docker.sock:/var/run/docker.sock$ bin/kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 1 --topic test_topic
WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use either, but not both.
Created topic test_topic.
$ bin/kafka-topics.sh --list --zookeeper 127.0.0.1:2181
test
test_topic
先に受信のためのConsumerを起動しておく。
$ bin/kafka-console-consumer.sh --bootstrap-server=127.0.0.1:9092 --topic=test_topic
別のターミナルでProducerを起動して送信。
$ bin/kafka-console-producer.sh --broker-list=127.0.0.1:9092 --topic=test_topic
>this is a test message.
>hello world!
すると、Consumer側に以下のメッセージが表示される。
this is a test message.
hello world!
- 今更ながらKafkaを触ってみた
https://tech.fusic.co.jp/posts/2020-05-19-kafka-karafka/
-
docker-compose で Kafka の動作確認 - Qiita
https://qiita.com/tily/items/ea212a7fe68d62e34644 -
kafka-docker でローカルに kafka クラスタを構築する - 駄文型
https://koheikimura.hatenablog.com/entry/2017/05/15/190000
補足:Kafka 3.x 以降は ZooKeeper に依存しない KRaft モードが標準となり、 Kafka 4.0(2025 年)で ZooKeeper モードは削除された。
--zookeeperオプションも既に廃止されており、現在は--bootstrap-serverを使用する。
移行メモ
- 元 Wiki では見出しそのものが他ページへのリンクになっていた箇所 (「Azure Event Hubs で」「Kafka .NET クライアント で」)は、 GitHub Wiki では見出しからアンカが生成されるため、 見出しをプレーン・テキストとし、リンクは直下の本文に置いた。
- マイクロソフト系技術情報 Wiki(techinfoofmicrosofttech.osscons.jp)への URL リンクは、移行済みの Azure Event Hubsチュートリアル / Kafka .NET クライアント に張り替えた。
- PukiWiki のページ内アンカ(
#xxxxxxxx)は GitHub Wiki では再現できないため、 同一ページ内のアンカは見出しから生成されるアンカに張り替えた。- 元 Wiki の行頭空白によるプレフォーマット・ブロックは、 フェンス付きコードブロックにした。
Tags: 移行, Apache Kafka, チュートリアル, ZooKeeper, Docker Compose, Producer, Consumer, WSL2, KRaft
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。