本文记录一下docker中安装kafka集群的过程
命令不能使用报错,请检查空格,尤其第一个转行符号后面的空格
客户端连接9092
如果java(springboot)连接,需要配置advertised.port
- 使用docker-compose,因为本机还没有安装,然后又安装了一下,之前有python的环境,所以直接使用pip安装了,各位看官自行百度找到适合自己的安装方式,如果没有安装docker-compose的安装一下
sudo pip install --upgrade pip sudo pip install docker-compose\n
- 创建一个kafka的文件目录,后续所有操作都在该目录,然后创建docker-compose.yml文件
mkdir /kafka cd /kafka vim docker-compose.yml
- 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
- 本地拉取kafka镜像(wurstmeister/kafka)start数最多的
docker search kafka docker pull wurstmeister/kafka
- 开始创建
# 切换到刚才创建docker-compsoe.yml文件的地 cd /kafka # 执行命令 docker-compose up -d
- 查看创建容器
docker ps # 此处已经可以看到创建了一个kafka-zookeeper容器
- 查看kafka版本号
docker exec kafka_kafka_1 find / -name \*kafka_\* | head -1 | grep -o '\kafka[^\n]*'
- 查看zookeeper版本号
docker exec (zookeeper容器名称或者容器id) pwd
- 扩展broker
docker-compose scale kafka=4
- 查看创建的多个broker
docker ps # 此处可以看到已经创建了4个
- 创建topic
docker exec kafka_kafka_1 \ kafka-topics.sh \ --create --topic topic001 \ --partitions 4 \ --zookeeper zookeeper:2181 \ --replication-factor 2
- 查看创建的topic(每个broker的容器id或者名称都可以)kafka_kafka_1即第一个容器名称
docker exec kafka_kafka_1 \ kafka-topics.sh --list \ --zookeeper zookeeper:2181 \ topic001
- 查看刚刚创建的topic的情况,borker和副本情况一目了然,代码一行一行输入
docker exec kafka_kafka_1 \ kafka-topics.sh \ --describe \ --topic topic001 \ --zookeeper zookeeper:2181
- 创建消费者开始生产消息消费消息演示,此处还没有生产消息,所有没有任何显示
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
- 生产者生产消息(新开一个窗口)
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
- 在生产者窗口运行15的命令之后,随意输入几个字符串,即可在消费者端看到显示,到此,docker安装kafka就结束了。
- 感谢参考的博客
参考链接:kafka的docker镜像使用
docker镜像地址 - 送上docker-compose 开启关闭命令
#开启 docker-compose up -d #关闭 docker-compose stop