因为kafka是基于zookeeper做的,所以必须要有zookeeper
一、Zookeeper
1.拉取镜像
docker pull zookeeper:3.7.0
2.运行
docker run --restart=always \
--log-driver json-file \
--log-opt max-size=100m \
--log-opt max-file=2 \
--name zookeeper -p 2181:2181 \
-v /etc/localtime:/etc/localtime:ro \
-d zookeeper:3.7.0
3.检查是否运行成功
docker exec -it zookeeper /bin/sh
zkCli.sh -server 192.168.101.129:2181
二、Kafka
1.拉取镜像
wurstmeister是一个官方的镜像仓库直接拉失败了,所以包了一层,要是还不行,去阿里弄个镜像加速器配上
docker pull wurstmeister/kafka
就是这里
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
2. 创建挂载目录好日志
2.1创建挂载目录
mkdir -p /home/kafka/{data,config}
3.启动
注意:192.168.101.129这个地址需要替换成你自己的服务器IP
docker run --privileged=true \
--log-driver json-file \
--log-opt max-size=100m \
--log-opt max-file=2 \
--name kafka -p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=192.168.101.129:2181/kafka \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.101.129:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-e ALLOW_PLAINTEXT_LISTENER=yes \
-e KAFKA_HEAP_OPTS='-Xms512M -Xmx4G' \
-v /home/kafka/data:/wurstmeister/kafka/data \
-v /home/kafka/config:/wurstmeister/kafka/config \
-v /etc/localtime:/etc/localtime \
-d wurstmeister/kafka
4.测一下
1.进去
docker exec -it kafka /bin/bash
2.创建测试主题
-
进入kafka
-
创建主题
例如创建一个名为test-kafka的主题
kafka-topics.sh --create --topic test-kafka --bootstrap-server 192.168.101.129:9092
- 查看你刚才建立的主题
kafka-topics.sh --describe --topic test-kafka --bootstrap-server 192.168.101.129:9092