相关链接
http://kafka.apache.org/downloads
1.使用Docker安装zookeeper
下载镜像:
docker pull zookeeper:3.4.14
创建容器:
docker run --name zookeeper \
-v /opt/data/zksingle:/data \
-p 2181:2181 \
-e ZOO_LOG4J_PROP="INFO,ROLLINGFILE" \
-d zookeeper:3.4.14
2.使用Docker安装Kafka
下载镜像:
docker pull wurstmeister/kafka:2.12-2.3.1
创建容器:
docker run -d --name kafka \
-p 9103:9092 \
--link zookeeper:zookeeper \
--env KAFKA_BROKER_ID=100 \
--env HOST_IP=192.168.128.130 \
--env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \
--env KAFKA_ADVERTISED_HOST_NAME=192.168.128.130 \
--env KAFKA_ADVERTISED_PORT=9103 \
--restart=always \
--volume /etc/localtime:/etc/localtime \
wurstmeister/kafka:2.12-2.3.1
注意:因为kafka依赖于zookeeper,所以一定要先启动zookeeper,再启动kafka
3.验证
使⽤zk节点数据验证启动情况
#进入zookeeper
docker exec -it zookeeper sh
#执行bin/zkCli.sh 连接脚本
./bin/zkCli.sh
#查看节点信息
ls /brokers
在kafka中查看
#进入kafka容器
docker exec -it kafka sh
#进入到/opt/kafka/bin目录
cd /opt/kafka/bin
#kafka-console-consumer.sh:客户端监听启动脚本
#kafka-console-producer.sh:消息发送端启动脚本
#客户端监听(该步会⾃动创建topic)
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic demo -- from-beginning
#另起⼀个终端,验证发送
./kafka-console-producer.sh --broker-list localhost:9092 --topic demo
客户端:
发送端:
接受到信息的客户端: