docker を使用して Mac 上に Kafka 環境を構築する

Kafka は Zookeeper に依存しているため、Docker を使用して Zookeeper と Kafka を同時にインストールする必要があります。

x01 動物園キーパーをインストールする

1) 最初にZookeeperイメージをダウンロードします

> docker search zookeeper
> docker pull wurstmeister/zookeeper

2) Zookeeper サービスを開始します

> docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2  --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper

x02 カフカをインストールする

1) 最初にkafkaイメージをダウンロードします

> docker search kafka
> docker pull wurstmeister/kafka

2) Kafkaサービスを開始します

> docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=host.docker.internal:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://host.docker.internal:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -v /etc/localtime:/etc/localtime wurstmeister/kafka

x03 メッセージの検証

1) カクファコンテナに入る

> dcker exec -it kafka bash
> cd /opt/kafka/bin

たくさんのスクリプトが表示されます。

> ls
connect-distributed.sh               kafka-console-producer.sh            kafka-leader-election.sh             kafka-run-class.sh                   trogdor.sh
connect-mirror-maker.sh              kafka-consumer-groups.sh             kafka-log-dirs.sh                    kafka-server-start.sh                windows
connect-standalone.sh                kafka-consumer-perf-test.sh          kafka-mirror-maker.sh                kafka-server-stop.sh                 zookeeper-security-migration.sh
kafka-acls.sh                        kafka-delegation-tokens.sh           kafka-preferred-replica-election.sh  kafka-streams-application-reset.sh   zookeeper-server-start.sh
kafka-broker-api-versions.sh         kafka-delete-records.sh              kafka-producer-perf-test.sh          kafka-topics.sh                      zookeeper-server-stop.sh
kafka-configs.sh                     kafka-dump-log.sh                    kafka-reassign-partitions.sh         kafka-verifiable-consumer.sh         zookeeper-shell.sh
kafka-console-consumer.sh            kafka-features.sh                    kafka-replica-verification.sh        kafka-verifiable-producer.sh

2) テストプロデューサーとコンシューマー
プロデューサー

> ./kafka-console-producer.sh --broker-list localhost:9092 --topic test-topic

コンシューマ(別の端末が必要)

./kafka-console-consumer.sh --bootstrap-server host.docker.internal:9092 --topic test-topic --from-beginning

注 ⚠️:
ここで Zookeeper に登録するときは、host.docker.internal が使用されます。プログラムで kafka に接続するときに、localhost を直接使用すると、次のようなエラーが報告されます: ノード host.docker.internal:9092 への接続エラー、およびその処理方法:

  • このマシンのホスト ファイルにマッピングを追加し、127.0.0.1 host.docker.internal を設定できます。
  • host.docker.internal は使用せず、独自のホスト IP を使用しますが、IP が変更された場合は再構成が必要です。

x04 Kafka クラスターモードの構築

新しい Kafka インスタンスを作成します。

> docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name kafka -p 9093:9093 -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=host.docker.internal:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://host.docker.internal:9093 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093 -v /etc/localtime:/etc/localtime wurstmeister/kafka
  1. ブローカー ID の変更: KAFKA_BROKER_ID 0、1、2
  2. ポート番号の変更: 9092、9093、9094

x05 kafka-manger のインストール

1) インストールする

> docker pull sheepkiller/kafka-manager

2) 開始

docker run -d --name kfk-manager --restart always -p 9000:9000 -e ZK_HOSTS=<这里换成你的zookeeper地址和端口> sheepkiller/kafka-manager

3) アドレス localhost:9000
ここに画像の説明を挿入
にアクセスして、独自の Zookeeper アドレスを設定します。
注 ⚠️:
最初に localhost:2181 を設定しましたが、自分のブローカー情報をクエリできないことがわかりました。その後、Zookeeper にアクセスして確認し、追加する必要がありました。パス
localhost: 2181/kafka で十分です。

おすすめ

転載: blog.csdn.net/wjavadog/article/details/129907499