获取两镜像:
docker pull zookeeper docker pull kafka
执行简单命令:
zookeeper :
docker run -d --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime -v /root/docker/zookeeper/data/:/data/ zookeeper
kafka:
docker run -d --name kafka-server
-p 9092:9092
-e ALLOW_PLAINTEXT_LISTENER=yes
-e KAFKA_CFG_ZOOKEEPER_ConNECT=xx.xxx.xxx.xx:2181
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://xx.xxx.xxx.xx:9092
bitnami/kafka
官网也有安装方式
Docker Hub
遇到的问题:
WARN [Producer clientId=console-producer] Error while fetching metadata with correlation id 3 : {first=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)
解决:
docker exec -u 0 -it kafka-server /bin/bash vim /opt/bitnami/kafka/config/server.properties 打开kafka的配置文件server.properties,修改: listeners=PLAINTEXT://loclahost:9092 #### localhost就是本机IP或者映射
重启kafka。
kafka3.0创建topic出现zookeeper is not a recognized option原来新版本的kafka,已经不需要依赖zookeeper来创建topic,新版的kafka创建topic指令为下:
#### 在容器kafka 目录bin下执行( cd /opt/bitnami/kafka/bin/ ) ###创建topic test1 指令: ./kafka-topics.sh --create --bootstrap-server xxx.xxx.xxx.xxx:9092 --replication-factor 1 --partitions 1 --topic test1 ### 创建生产者 ./kafka-console-producer.sh --broker-list xxx.xxx.xxx.xxx:9092 --topic test1 ### 创建消息者 ./kafka-console-consumer.sh --bootstrap-server xxx.xxx.xxx.xxx:9092 --topic test1 --from-beginning #### 查询topic ./kafka-topics.sh --bootstrap-server xxx.xxx.xxx.xxx:9092 --list



