乐趣区

docker安装kafkawurstmeister

本文记录一下 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
退出移动版