1 安装环境
服务器:CentOS 7
docker:docker-ce 19.03.8
kafka:wurstmeister/kafka:latest
zookeeper:wurstmeister/zookeeper:latest
2. 搜索镜像
docker search kafka
3.拉取并运行镜像
docker pull wurstmeister/kafka
docker pull wurstmeister/zookeeper
运行zookeeper
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
运行kafka
docker run -d --name kafka \
--env KAFKA_ADVERTISED_HOST_NAME=localhost \
--env KAFKA_ZOOKEEPER_CONNECT=ip_address:2181 \
--env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://ip_address:9092 \
--env KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
--net=host wurstmeister/kafka
启动容器后可以通过以下命令查看运行状态
docker logs -f container_name
5. 进入kafka容器进行操作
cd /opt/kafka_2.12-2.4.1
创建topic
./kafka-topics.sh --create --zookeeper ip_address:2181 --replication-factor 1 --partitions 2 --topic test
生产消息
./kafka-console-producer.sh --broker-list ip_address:9092 --topic test
消费消息(重新打开一个远程连接会话,进入容器)
./kafka-console-consumer.sh --bootstrap-server ip_address:9092 --from-beginning --topic test
模拟生产者输入,可以在消费者下看到结果
6. 常见问题
kafka容器无法正常启动
服务器内存不过,可以自行百度修改swap,可以清理服务器上多余的docker容器
kafka容器连接zookeeper报错
本人出现这个结果是由于云服务器端口映射没有实现,重新配置后kafka正常启动