30秒完成在Docker Desktop中搭建kafka----你肯定没我快

Posted zyyn_未来可期

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了30秒完成在Docker Desktop中搭建kafka----你肯定没我快相关的知识,希望对你有一定的参考价值。

在上一节中我们在Docker Desktop中完成了RocketMQ的搭建,简单且快速,本章我们来安装kafka,相信很多人都会需要。

和上一节的搭建一样,我们这次还是使用compose 文件去搭建我们的环境

第一步:
在你搭建RocketMQ的地方创建一个docker-compose.yml文件

内容如下:

version: '3'
services:
  zookepper:
    image: wurstmeister/zookeeper                    # 原镜像`wurstmeister/zookeeper`
    container_name: zookeeper                        # 容器名为'zookeeper'
    volumes:                                         # 数据卷挂载路径设置,将本机目录映射到容器目录
      - "/etc/localtime:/etc/localtime"
    ports:                                           # 映射端口
      - "2181:2181"

  kafka:
    image: wurstmeister/kafka                                # 原镜像`wurstmeister/kafka`
    container_name: kafka                                    # 容器名为'kafka'
    volumes:                                                 # 数据卷挂载路径设置,将本机目录映射到容器目录
      - "/etc/localtime:/etc/localtime"
    environment:                                                       # 设置环境变量,相当于docker run命令中的-e
      KAFKA_BROKER_ID: 0                                               # 在kafka集群中,每个kafka都有一个BROKER_ID来区分自己
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092 # TODO 将kafka的地址端口注册给zookeeper
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092                        # 配置kafka的监听端口
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181                # zookeeper地址
      KAFKA_CREATE_TOPICS: "hello~"
    ports:                              # 映射端口
      - "9092:9092"
    depends_on:                         # 解决容器依赖启动先后问题
      - zookepper

  kafka-manager:
    image: sheepkiller/kafka-manager                         # 原镜像`sheepkiller/kafka-manager`
    container_name: kafka-manager                            # 容器名为'kafka-manager'
    environment:                        # 设置环境变量,相当于docker run命令中的-e
      ZK_HOSTS: zookeeper:2181  #  zookeeper地址
      APPLICATION_SECRET: xxxxx
      KAFKA_MANAGER_AUTH_ENABLED: "true"  # 开启kafka-manager权限校验
      KAFKA_MANAGER_USERNAME: admin       # 登陆账户
      KAFKA_MANAGER_PASSWORD: 123456      # 登陆密码
    ports:                              # 映射端口
      - "9000:9000"
    depends_on:                         # 解决容器依赖启动先后问题
      - kafka

注意:文件内KAFKA_ADVERTISED_LISTENERS中的 ip 需要改成自己的

第二步:
在存放docker-compose.yml的目录下执行启动命令:

docker-compose up -d

运行结束之后kafka就搭建完成了,可以在你的控制台看见:


然后我们再来测试一下我们的kafka好用不好用:

进入kafka 的容器:docker exec -it kafka sh

创建一个topic(随便叫什么都可以):$KAFKA_HOME/bin/kafka-topics.sh --create --topic xiong --partitions 4 --zookeeper zookeeper:2181 --replication-factor 1

查看刚创建的topic信息:$KAFKA_HOME/bin/kafka-topics.sh --zookeeper zookeeper:2181 --describe --topic xiong


启动一个消费者:$KAFKA_HOME/bin/kafka-console-consumer.sh --bootstrap-server kafka:9092 --from-beginning --topic xiong

新增一个窗口,启动一个生产者:docker exec -it kafka sh

$KAFKA_HOME/bin/kafka-console-producer.sh --topic=xiong --broker-list kafka:9092


测试完毕

结果完美~~

惯例再推荐一本书:《端粒效应》

主要说衰老的秘密,但又不仅仅说的衰老

有兴趣的童鞋可以试听一下,附上得到听书的链接:

《端粒效应》

(过期可在评论找我)

以上是关于30秒完成在Docker Desktop中搭建kafka----你肯定没我快的主要内容,如果未能解决你的问题,请参考以下文章

Docker秒搭建Php7开发环境

一秒搭建gitbook

可移植性瓶颈突破,Docker Desktop 完成对 Kubernetes 的一致性测试

docker容器搭建kafka集群

在docker搭建centos7远程桌面环境

docker-credential-desktop 未安装或在 PATH 中不可用