app-tier:网络名称
–driver:网络类型为bridge
docker network create app-tier --driver bridge
kafka依赖zookeeper所以先安装zookeeper
-p:设置映射端口(默认2181)
-d:后台启动
docker run -d --name zookeeper-server \--network app-tier \-e ALLOW_ANONYMOUS_LOGIN=yes \bitnami/zookeeper:latest
安装并运行Kafka,
–name:容器名称
-p:设置映射端口(默认9092 )
-d:后台启动
ALLOW_PLAINTEXT_LISTENER任何人可以访问
KAFKA_CFG_ZOOKEEPER_CONNECT链接的zookeeper
KAFKA_ADVERTISED_HOST_NAME当前主机IP或地址(重点:如果是服务器部署则配服务器IP或域名否则客户端监听消息会报地址错误)
-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.8.243:9092 \
docker run -d --name kafka-server \--network app-tier \-p 9092:9092 \-e ALLOW_PLAINTEXT_LISTENER=yes \-e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 \-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.8.243:9092 \bitnami/kafka:latest
图形化管理工具
访问地址:http://服务器IP:9001/
DEFAULT_USERNAME:默认账号admin
DEFAULT_PASSWORD:默认密码admin
Git 地址:https://github.com/dushixiang/kafka-map/blob/master/README-zh_CN.md
docker run -d --name kafka-map \--network app-tier \-p 9001:8080 \-v /opt/kafka-map/data:/usr/local/kafka-map/data \-e DEFAULT_USERNAME=admin \-e DEFAULT_PASSWORD=admin \--restart always dushixiang/kafka-map:latest
进入kafka容器内部
docker exec -it kafka-server /bin/sh
进入路径:/opt/bitnami/kafka/bin下
cd /opt/bitnami/kafka/bin
通过生产者向topic发送消息
./kafka-console-producer.sh --broker-list kafka地址:访问kafka的端口号 --topic test-topic(topic名)
./kafka-console-producer.sh --broker-list 192.168.8.243:9092 --topic test-topic
另外打开一个窗口 消费者消费消息
kafka-console-consumer.sh --bootstrap-server kafka地址:访问kafka的端口号 --topic test-topic --from-beginning
kafka-console-consumer.sh --bootstrap-server 192.168.8.243:9092 --topic test-topic --from-beginning