本文记录一下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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。