注:本文只安装了一个kafka服务端仅为测试用
docker的安装这里就不赘述了
一、先使用命令 docker search kafka 查看kafka的安装包
docker search kafka
选择第一个
docker pull wurstmeister/kafka
同样的操作安装zookeeper, 我这里并没有使用kafka自带的zookeeper
docker search zookeeper
docker pull zookeeper
二、两个镜像下载之后,我们开始创建并启动容器
docker run -d --name zookeeper -p 2181:2181 -t zookeeper
注意:下面启动kafka容器时 需要将宿主ip换成你自己的
docker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_HOST_NAME=你的宿主ip --env KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime wurstmeister/kafka:latest
然后我们就可以看下是否启动成功,使用docker命令
docker ps //查看当前运行的容器
docker ps -a //查看所有的容器(包括未运行的)
可以看到我们这里已经运行起来了
然后我们就可以进行测试了,首先使用docker命令进入kafka容器内
docker exec -it 你的kafka容器id /bin/bash
然后进入/opt/kafka_2.12-2.1.0目录下
接下来我们创建一个topic 名为test01
bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic test01
注:
bin/kafka-topics.sh --list --zookeeper zookeeper:2181 //查看我们的topic列表
然后我们运行一个生产者去发送消息
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test01
然后我们去创建一个消费者接收消息,也可以另起一个连接去接收消息
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test01 --from-beginning
注:我也是现学现卖大神勿喷,只是为了加深自己的记忆