专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Docker安装kafka

前言:

最近有个项目,需要用到队列,就选了kafka,生产环境不用操心,但需要自己搭个测试环境

安装

我装的是wurstmeister/kafka,这是官方的 安装教程。我用的是推荐的方式,docker-compose,这是我的配置文件

version: '2'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    container_name: zookeeper
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka
    container_name: kafka
    ports:
      - "9092:9092"
    depends_on:
      - zookeeper  
    environment:
     # KAFKA_ADVERTISED_HOST_NAME: 172.18.66.56
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
     # KAFKA_ADVERTISED_PORT: 9092
      KAFKA_BROKER_ID: 0
      KAFKA_CREATE_TOPICS: "cms:1:1,api:1:1"
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://47.74.211.71:9092
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

里面的47.74.211.71是我的谷歌云上的一台云服务器的公网地址,上面还部署了一些测试用的容器,因为想用外网访问么,所以这里用的是公网ip。安装完之后,进入容器测试发送消息,怎么了也发送不了。网上找了找原因,可能是ip的问题,我把外网ip换成了内网ip。可能是云服务器上没有外网网卡(猜的)

内网ip的问题

上面说到我把外网ip换成了内网的

      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://172.18.66.56:9092

kafka是起来了,docker容器里也能发送消息。也能接受消息,但我本地的java客户端程序只能发送(没测,感觉是成功了,)但是消费者连接不成功啊,消费不了,还需要它干嘛。

内网外网访问的方法

找了下资料,可以加多个listeners;比如

53_1.png但是配置ssl太麻烦了。我只是想测试啊,

终极大招

我本地装了docker,mac版的docker自带compose,soga!!!

version: '2'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    container_name: zookeeper
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka
    container_name: kafka
    ports:
      - "9092:9092"
    depends_on:
      - zookeeper  
    environment:
     # KAFKA_ADVERTISED_HOST_NAME: 172.18.66.56
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
     # KAFKA_ADVERTISED_PORT: 9092
      KAFKA_BROKER_ID: 0
      KAFKA_CREATE_TOPICS: "cms:1:1,api:1:1"
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.0.147:9092
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

53_2.png本地测试了下,没啥问题

文章永久链接:https://tech.souyunku.com/42457

未经允许不得转载:搜云库技术团队 » Docker安装kafka

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们