「[[.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]