MacOS M1 上的 Docker kafka 配置时遇到问题

2024-03-26

我使用 macOS M1 Big Sur 11.2.3,但我的 kafka 无法正常运行,无法创建/列出主题。我不知道是不是操作系统的原因,但是kafka的日志只是这样:

docker-compose 日志 https://i.stack.imgur.com/6icAa.jpg

列出主题日志 https://i.stack.imgur.com/oEabD.png

这是我的码头工人组成:

services:
  zookeeper:
    image: wurstmeister/zookeeper
    container_name: zookeeper
    hostname: zookeeper
    ports:
      - 2181:2181
    environment:
      ZOO_MY_ID: 1
    networks:
      - kafka_net
  kafka:
    image: wurstmeister/kafka
    container_name: kafka
    ports:
      - 9092:9092
    expose:
      - 29092
    depends_on:
      - zookeeper
    environment:
      KAFKA_ADVERTISED_HOST_NAME: localhost
      KAFKA_ADVERTISED_PORT: 9092
      KAFKA_LISTENERS: INSIDE://0.0.0.0:29092,OUTSIDE://0.0.0.0:9092
      KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka:29092,OUTSIDE://localhost:9092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_BROKER_ID: 1
    restart: always
    networks:
      - kafka_net
networks:
  kafka_net:
    driver: bridge

我认为 kafka 尚未运行,所以我无法列出/创建主题。你们对此有什么想法吗?我已经搜索了这方面的可能性,但我仍然没有解决问题。谢谢


对于在 mac m1 上的 docker 中启动 kafka,我做了接下来的事情:

  1. 克隆 kafka 存储库并在我的 macbook pro m1 上构建(./gradlew clean releaseTarGz)
  2. 使用下一个结构创建 docker-compose 项目目录
  • root dir
    • kafka_m1
      • kafka(解压后的 kafka 发行版)
      • Dockerfile
    • docker-compose.yml
  1. 配置服务器属性 file (根目录/kafka_m1/kafka/config/server.properties)。主要参数:
   zookeeper.connect=zookeeper:2181
   listeners=PLAINTEXT://:9092
   advertised.listeners=PLAINTEXT://127.0.0.1:9092
   listener.security.protocol.map=PLAINTEXT:PLAINTEXT
  1. kafka`s Dockerfile (openjdk:15.0.2-jdk是为 m1 构建的):
    FROM openjdk:15.0.2-jdk
    
    WORKDIR /
    COPY . /
    
    EXPOSE 9092
    EXPOSE 8092
    EXPOSE 9092
    EXPOSE 10092
    EXPOSE 11092
    EXPOSE 12092
    
    ENTRYPOINT [ "/kafka/bin/kafka-server-start.sh", "/kafka/config/server.properties" ]
  1. docker-compose.yml(我选择动物园管理员:3.7.0因为它有手臂构造):
  version: "2"
  services:
  zookeeper:
    image: zookeeper:3.7.0
    ports:
      - "2181:2181"
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000
  kafka:
    build: ./kafka_m1
    ports:
      - "127.0.0.1:9092:9092"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
  1. 启动 docker-compose 并构建 kafka_m1 镜像。

在 docker 中运行本地 kafka 的快速收据

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MacOS M1 上的 Docker kafka 配置时遇到问题 的相关文章

随机推荐

  • Quill.js:制作自定义链接格式 - 或 - 具有相同标签名称的自定义格式

    我正在使用鹅毛笔1 0 0 rc 1 如何制作几种不同类型的链接格式 我制作了三种不同类型的链接格式 添加了data link type属性 当我创建链接时 一切都很好 但是 当我使用将内容重新加载到编辑器中时pasteHTML 自上次注册
  • __zone_symbol__currentTask 错误

    我收到错误 zone symbol currentTask type microTask state notScheduled source Promise then zone angular cancelFn null runCount
  • 单击按钮时使球弹起

    I wrote a program to move a ball when a button is clicked It is a part of experiment for a bigegr project Here is the sc
  • 使用 LINQ to SQL SubmitChanges() 时,什么会导致 SqlDateTime 溢出?

    在我的代码中 我将多个对象添加到存储库中 我尝试在所有循环结束时运行一次存储库 Save 函数 并在添加每个对象后调用它 但无论哪种方式 当存储库 Save 中的 db SubmitChanges 时 我仍然会遇到 SqlDateTime
  • 事件可以声明为静态吗?如果可以,如何声明以及为什么

    我想知道我们是否可以将事件声明为静态 如果可以 为什么以及此类声明的应用 请提供样品 眼见为实 您可以创建静态事件 使用它们的方式与普通事件相同 只不过它是在类内的静态上下文中使用 public class MyClass public s
  • 具有不同参数的 C++ 成员函数指针 - 还是这很糟糕?

    尽管我担心你会告诉我这个话题已经被讨论过好几次了 但我还是敢问 因为我无法生成解决方案 也许我只是在寻找错误的东西 假设我有一个从某些外部函数接收 模式 的函数 根据模式的不同 函数会调用同一对象的不同成员函数 对于没有任何参数的成员函数
  • 如何用相邻值替换数据框中的 NA(缺失值)

    862 2006 05 19 6 241603 5 774208 863 2006 05 20 NA NA 864 2006 05 21 NA NA 865 2006 05 22 6 383929 5 906426 866 2006 05
  • 如何从 SonarQube 提取或导出规则

    如果我能获得以下情况的帮助 请感激 我的问题是确定如何在 SonarQube 4 5 7 上提取 导出所有 java 规则 我尝试了以下两个 API 调用 但收到 您正在查找的页面不存在 我的 sonarqube 版本显示了 781 个 j
  • 如何从 Carrierwave Uploader 对象引用父模型

    我想在通过 Carrierwave 完成文件上传后运行一些方法 Carrierwave包含几种回调方法详解here https github com jnicklas carrierwave wiki How to 3a use callb
  • Google Chrome 中的 DOM 过载问题

    我在 Google Chrome 中使用大量隐藏项目时遇到一些问题 最近 我发布了一个问题 https stackoverflow com questions 56329780 inexplicit task in chrome perfo
  • 毛伊岛内容页面视图中的视图模型未被识别

    我试图理解毛伊岛的服务 但注入并没有在视图中重新认识它 namespace FoodOrder ViewModels public class MenusViewModel IMenuServiceInterface menuService
  • 由于内存压力而终止应用程序

    我有一个应用程序可以在连拍模式下拍摄图像 但是一旦拍摄图像并即将出现预览时 它就会崩溃并且错误显示 由于内存压力而终止应用程序 当用户按住相机按钮时 我需要拍摄更多数量的图像 离开按钮后 我需要将所有图像显示为幻灯片 我必须做什么 我的代码
  • Rails 3:如何正确显示“textarea”中的文本?

    在我的 Rails 3 应用程序中我使用textarea让用户在论坛中撰写新消息 但是 当显示消息时 所有换行符看起来都像空格 没有 br 也许还有其他不匹配的例子 我还不知道 我想知道处理这个问题最合适的方法是什么 我猜想存储在数据库中的
  • 如何让线程构建块在 Ubuntu 14.04 中工作

    我想让 TBB 工作 但在 Ubuntu 14 04 上编译工作有点困难 我认为这可能是为编译器设置库位置的问题 我使用以下命令安装了 TBB sudo apt get install libtbb dev 我现在正在尝试编译一个小测试示例
  • 如何编写读取退回电子邮件的 PHP 脚本?

    我正在使用 PHP 处理退回电子邮件 我已在邮件功能中包含返回路径 例如 mail to address subject message headers f return path return path email protected c
  • 如果我不等待任务会怎样?

    考虑这个例子 var task DoSomething bool ready await DoSomethingElse if ready return null var value await DoThirdThing depends o
  • 从项目根目录移动 cypress 文件夹

    当我安装并运行 cypress 时 它会搭建一个cypress 我的项目根目录中的文件夹 问题是所有其他测试相关数据都存储在test 文件夹 有没有简单的方法可以将其移动到test cypress并配置 cypress 来查看那里 赛普拉斯
  • 在同一 SQL 查询中使用“WITH”和“UPDATE”语句

    我有一个表格 需要使用 Excel 电子表格中的一些数据进行更新 我正在考虑这样的查询 WITH temp AS SELECT abcd AS oldvalue defg AS newvalue FROM dual UNION SELECT
  • Fortran 90 - 尝试读取文件末尾之后的内容

    我在 Fortran 90 中遇到读取问题 我尝试读取 31488 行数据 我正在使用 Portland Group Fortran 90 编译器 我的错误信息是这样的 PGFIO F 217 列表定向读取 单元 14 尝试读取文件末尾 文
  • MacOS M1 上的 Docker kafka 配置时遇到问题

    我使用 macOS M1 Big Sur 11 2 3 但我的 kafka 无法正常运行 无法创建 列出主题 我不知道是不是操作系统的原因 但是kafka的日志只是这样 docker compose 日志 https i stack img