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

目次

概要

ver 2.7.0、Ubuntu 20.04(on WSL2)

詳細

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

送受信

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