docker安装kafka(wurstmeister)

本文记录一下docker中安装kafka集群的过程

命令不能使用报错,请检查空格,尤其第一个转行符号后面的空格

客户端连接9092
如果java(springboot)连接,需要配置advertised.port

  1. 使用docker-compose,因为本机还没有安装,然后又安装了一下,之前有python的环境,所以直接使用pip安装了,各位看官自行百度找到适合自己的安装方式,如果没有安装docker-compose的安装一下

sudo pip install --upgrade pip
sudo pip install docker-compose\n

  1. 创建一个kafka的文件目录,后续所有操作都在该目录,然后创建docker-compose.yml文件
mkdir /kafka
cd /kafka
vim docker-compose.yml

  1. 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

  1. 本地拉取kafka镜像(wurstmeister/kafka)start数最多的
docker search kafka

docker pull wurstmeister/kafka
  1. 开始创建
# 切换到刚才创建docker-compsoe.yml文件的地
cd /kafka 


# 执行命令
docker-compose up -d
  1. 查看创建容器
docker ps
# 此处已经可以看到创建了一个kafka-zookeeper容器

  1. 查看kafka版本号
docker exec kafka_kafka_1 find / -name \*kafka_\* | head -1 | grep -o '\kafka[^\n]*'
  1. 查看zookeeper版本号
docker exec (zookeeper容器名称或者容器id) pwd

  1. 扩展broker
docker-compose scale kafka=4

  1. 查看创建的多个broker
docker ps

# 此处可以看到已经创建了4个
  1. 创建topic
docker exec kafka_kafka_1 \
kafka-topics.sh \
--create --topic topic001 \
--partitions 4 \
--zookeeper zookeeper:2181 \
--replication-factor 2
  1. 查看创建的topic(每个broker的容器id或者名称都可以)kafka_kafka_1即第一个容器名称
docker exec kafka_kafka_1 \
kafka-topics.sh --list \
--zookeeper zookeeper:2181 \
topic001
  1. 查看刚刚创建的topic的情况,borker和副本情况一目了然,代码一行一行输入
docker exec kafka_kafka_1 \     
kafka-topics.sh \
--describe \
--topic topic001 \
--zookeeper zookeeper:2181
  1. 创建消费者开始生产消息消费消息演示,此处还没有生产消息,所有没有任何显示
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
  1. 生产者生产消息(新开一个窗口)
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
  1. 在生产者窗口运行15的命令之后,随意输入几个字符串,即可在消费者端看到显示,到此,docker安装kafka就结束了。
  2. 感谢参考的博客
    参考链接:kafka的docker镜像使用
    docker镜像地址
  3. 送上docker-compose 开启关闭命令
#开启
docker-compose up -d
#关闭
docker-compose stop

你可能感兴趣的:(kafka)