「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>Apache Kafka]]

*目次 [#f2df621f]
#contents

*概要 [#n9fbcea7]
ver 2.7.0、Ubuntu 20.04(on WSL2)

*詳細 [#y76bd073]

**Clientのインストール [#yc3fefd8]

***Runtimeのインストール [#q8667bb2]
Javaのインストール(BrokerだけでなくClientにも必要)
 sudo apt update 
 sudo apt install default-jdk
 java --version

***Kafkaのダウンロード [#x235f679]
 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の設定 [#cdbee498]
設定は特にない。以下のコマンドを実行できる。
 cd /usr/local/kafka
 bin/kafka-topics.sh --list --zookeeper localhost:2181

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

**Brokerのインストールと起動 [#m7262a38]

***インストール [#sfe51ff4]
***ローカル [#sfe51ff4]
-ローカルに入れたくなかったので、割愛する。
-[[参考>#zbfb9477]]中に、インストールについての記述記事あり。

***Dockerで [#v34b4fc4]
以下を修正した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

**送受信 [#p805f61d]
**Clientを使って送受信 [#p805f61d]

***Topicを作成 [#t265ecf7]
 $ 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 [#a5126db1]
先に受信のためのConsumerを起動しておく。

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

***Producer [#x5ec92e6]
別のターミナルでProducerを起動して送信。

 $ bin/kafka-console-producer.sh --broker-list=127.0.0.1:9092 --topic=test_topic
 >this is a test message.
 >hello world!

すると、[[Consumer>#a5126db1]]側に以下のメッセージが表示される。

 this is a test message.
 hello world!

*参考 [#zbfb9477]
-[[Ubuntu20.04にApacheKafkaをインストールする方法 - Tutorial Crawler>https://tutorialcrawler.com/ubuntu-debian/ubuntu20-04%E3%81%ABapachekafka%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/]]

**Fusic Tech Blog [#ga48a613]
-今更ながらKafkaを触ってみた~
https://tech.fusic.co.jp/posts/2020-05-19-kafka-karafka/

**Docker Compose [#o4e7880a]
-docker-compose で Kafka の動作確認 - Qiita~
https://qiita.com/tily/items/ea212a7fe68d62e34644

-kafka-docker でローカルに kafka クラスタを構築する - 駄文型~
https://koheikimura.hatenablog.com/entry/2017/05/15/190000

**マイクロソフト系技術情報 Wiki [#sca2258a]
***[[Azure Event Hubs>https://techinfoofmicrosofttech.osscons.jp/index.php?Azure%20Event%20Hubs%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB]]で [#md7c2f03]
***[[Kafka .NET クライアント>https://techinfoofmicrosofttech.osscons.jp/index.php?Kafka%20.NET%20%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88]]で [#w6278b11]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS