因為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