提前启动 zookeeper 相关方法:https://blog.csdn.net/W_Meng_H/article/details/111587195
kafka 镜像说明:https://hub.docker.com/r/wurstmeister/kafka
一、获取镜像
docker pull wurstmeister/kafka:2.12-2.5.0
二、启动 kafka
docker run -d --name kafka1 -p 9092:9092 \
--net zk-net \
-e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=172.19.0.2:2181/kafka1 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://172.19.0.3:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-e TZ=Asia/Shanghai \
wurstmeister/kafka:2.12-2.5.0
参数说明:
在kafka集群中,每个kafka都有一个BROKER_ID来区分自己
-e KAFKA_BROKER_ID=0
配置zookeeper管理kafka的路径
-e KAFKA_ZOOKEEPER_CONNECT=172.19.0.2:2181/kafka1
把kafka的地址端口注册给zookeeper,如果是远程访问要改成外网IP,类如Java程序访问出现无法连接。
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://172.19.0.3:9092
配置kafka的监听端口
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092
修改容器时间
-e TZ=Asia/Shanghai
docker run -d --name kafka2 -p 9093:9092 \
--net zk-net \
-e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=172.19.0.2:2181/kafka2 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://172.19.0.4:9093 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093 \
-e TZ=Asia/Shanghai \
wurstmeister/kafka:2.12-2.5.0