.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

ver 2.7.0、Ubuntu 20.04(on WSL2)

詳細

Clientのインストール

Runtimeのインストール

Javaのインストール(BrokerだけでなくClientにも必要)

sudo apt update 
sudo apt install default-jdk
java --version

Kafkaのダウンロード

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

Clientの設定

設定は特にない。以下のコマンドを実行できる。

cd /usr/local/kafka
bin/kafka-topics.sh --list --zookeeper localhost:2181

※ この段階ではブローカが存在しないので動かない。

Brokerのインストールと起動

ローカル

  • ローカルに入れたくなかったので、割愛する。
  • 参考中に、インストールについての記述記事あり。

Dockerで

以下を修正した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

Clientを使って送受信

Topicを作成

$ 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

先に受信のためのConsumerを起動しておく。

$ bin/kafka-console-consumer.sh --bootstrap-server=127.0.0.1:9092 --topic=test_topic

Producer

別のターミナルで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!

参考

Fusic Tech Blog

Docker Compose

マイクロソフト系技術情報 Wiki

Azure Event Hubs

Kafka .NET クライアント


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-10-20 (水) 12:30:21 (912d)