如果系统中没有安装好docker的朋友,可以查看本人这篇文章进行安装:Linux系统下安装docker
Kafka是依赖于Zookeeper,因此需要先部署好zookeeper,才能部署好kafka。
步骤都很简单,都是一些机械化操作,无脑输入即可:
1.拉取镜像:
zookeeper:
docker pull wurstmeister/zookeeper
docker:
docker pull wurstmeister/kafka
2.运行zookeeper容器:
docker run -d --name zookeeper --network=host --restart=always --publish 2181:2181 -v /home/docker/zookeeper/data:/data -v /home/docker/zookeeper/conf:/conf -v /home/docker/zookeeper/logs:/datalog --volume /etc/localtime:/etc/localtime wurstmeister/zookeeper
运行kafka容器:
docker run -d --name kafka --restart always --publish 9092:9092 --env KAFKA_ZOOKEEPER_CONNECT=zookeeper的ip:2181 --env KAFKA_ADVERTISED_HOST_NAME=kafka的ip --env KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime wurstmeister/kafka
3.测试:
进入容器:
docker exec -it kafka bash
启动一个消费者:
cd /opt/kafka_2.13-2.6.0/bin/
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mytopic --from-beginning
另起一个终端操作生产者:
docker exec -it kafka /bin/bash
使用生产者发送:
cd /opt/kafka_2.13-2.6.0/bin/
./kafka-console-producer.sh --broker-list localhost:9092 --topic mytopic
>test
消费者终端可以看到消息:
test