docker kafka
本地搭建 kafka 环境
构建环境
下载本仓库后
# 启动
$ docker-compose up -d
# 停止
$ docker-compose stop
kafka 启动之后,只能本机访问,同一局域网其他机器没法访问
使用
进入容器
$ docker exec -it kafka /bin/bash
$ cd /opt/kafka/bin
生产消息
$ ./kafka-console-producer.sh --broker-list localhost:9092 --topic my-topic
消费消息
$ ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my-topic --from-beginning
其他
客户端访问 kafka 的时候
- 客户端连接到
KAFKA_LISTENERS标识的地址,完后认证后,获取一个brokers的返回地址 - 通过返回的
brokers地址重新建立与kafka的连接,这个返回的地址就是KAFKA_ADVERTISED_LISTENERS的值
因此,若要局域网其他机器也能访问到容器内的 kafka,则需要声明 KAFKA_ADVERTISED_LISTENERS 的地址.
字段说明:
- KAFKA_LISTENERS 定义
kafka的服务监听地址 - KAFKA_ADVERTISED_LISTENERS
kafka发布到zookeeper供客户端使用的服务地址
参考
Docker kafka
kafka配置KAFKA_LISTENERS和KAFKA_ADVERTISED_LISTENERS
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
推荐文章: