本文记录一下 docker 中安装 kafka 集群的过程
1. 使用 docker-compose,因为本机还没有安装,然后又安装了一下,之前有 python 的环境,所以直接使用 pip 安装了,各位看官自行百度找到适合自己的安装方式,如果没有安装 docker-compose 的安装一下
sudo pip install --upgrade pip
sudo pip install docker-compose\n
2. 创建一个 kafka 的文件目录,后续所有操作都在该目录,然后创建 docker-compose.yml 文件
mkdir /kafka
cd /kafka
vim docker-compose.yml
3.docker-compose.yml 文件内容如下
version: '2'
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka:2.11-0.11.0.3
ports:
- "9092"
environment:
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://:9092
KAFKA_LISTENERS: PLAINTEXT://:9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock
4. 本地拉取 kafka 镜像(wurstmeister/kafka)start 数最多的
docker search kafka
docker pull wurstmeister/kafka
5. 开始创建
# 切换到刚才创建 docker-compsoe.yml 文件的地
cd /kafka
# 执行命令
docker-compose up -d
6. 查看创建容器
docker ps
# 此处已经可以看到创建了一个 kafka-zookeeper 容器
7. 查看 kafka 版本号
docker exec(容器 id 或者容器名称)find / -name \*kafka_\* | head -1 | grep -o '\kafka[^\n]*'
8. 查看 zookeeper 版本号
docker exec(zookeeper 容器名称或者容器 id)pwd
9. 扩展 broker
docker-compose scale kafka=4
10. 查看创建的多个 broker
docker ps
# 此处可以看到已经创建了 4 个
11. 创建 topic
docker exec(容器 1id)\
kafka-topics.sh \
--create --topic topic001 \
--partitions 4 \
--zookeeper zookeeper:2181 \
--replication-factor 2
12. 查看创建的 topic(每个 broker 的容器 id 或者名称都可以)kafka_kafka_1 即第一个容器名称
docker exec kafka_kafka_1 \
kafka-topics.sh --list \
--zookeeper zookeeper:2181 \
topic001
13. 查看刚刚创建的 topic 的情况,borker 和副本情况一目了然,代码一行一行输入
docker exec(创建好的 4 个 broker 随意一个容器 id 或者名称)\
kafka-topics.sh \
--describe \
--topic topic001 \
--zookeeper zookeeper:2181
14. 创建消费者开始生产消息消费消息演示,此处还没有生产消息,所有没有任何显示
docker exec kafka_kafka_1 \
kafka-console-consumer.sh \
--topic topic001 \
--bootstrap-server kafka_kafka_1:9092,kafka_kafka_2:9092,kafka_kafka_3:9092,kafka_kafka_4:9092
15. 生产者生产消息(新开一个窗口)
docker exec -it kafka_kafka_1 \
kafka-console-producer.sh \
--topic topic001 \
--broker-list kafka_kafka_1:9092,kafka_kafka_2:9092,kafka_kafka_3:9092,kafka_kafka_4:9092
16. 在生产者窗口运行 15 的命令之后,随意输入几个字符串,即可在消费者端看到显示,到此,docker 安装 kafka 就结束了。
17. 感谢参考的博客
参考链接:kafka 的 docker 镜像使用
docker 镜像地址
18. 送上 docker-compose 开启关闭命令
# 开启
docker-compose up -d
#关闭
docker-compose stop