当前位置: 首页 > news >正文

Mac m1 通过docker镜像安装kafka

kafka依赖zookeeper,因此需要使用docker同时安装zookeeper和kafka。 macOS的docker在容器和宿主之间无法通过ip直接通信,因此在安装的时候需要特殊注意与ip相关的设置。当容器需要访问宿主ip时,需要使用docker.for.mac.host.internal或者host.docker.internal代替。

zookeeper安装

拉取zookeeper镜像

docker pull zookeeper:3.5.9

启动zookeeper,寻找需要挂载的内容

docker run --name zookeeper3.5.9 -p 2181:2181 --restart always -d zookeeper:3.5.9

停止运行并删除容器

docker stop zookeeper3.5.9
docker rm zookeeper3.5.9

创建挂载地址
/Users/snowsong/docker/zookeeper/data
/Users/snowsong/docker/zookeeper/conf
/Users/snowsong/docker/zookeeper/logs
在挂载地址conf下创建配置文件zoo.cfg,内容如下

dataDir=/data
clientPort=2181
dataLogDir=/datalog
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
standaloneEnabled=true
admin.enableServer=true
server.1=localhost:2888:3888;2181

启动镜像

docker run -d --name zookeeper3.5.9 --privileged=true -p 2181:2181  -v /Users/snowsong/docker/zookeeper/data:/data -v /Users/snowsong/docker/zookeeper/conf:/conf -v /Users/snowsong/docker/zookeeper/logs:/datalog zookeeper:3.5.9

zookeeper到此就安装完毕啦~~~

kafka安装

拉取镜像-默认Kafka版本

docker pull wurstmeister/kafka

启动镜像

docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=172.17.0.2:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka
  • -d设置后台运行
  • –name 指定容器别名
  • -p 2181:2181绑定容器端口到宿主端口
  • -e参数可以设置docker容器内环境变量:
    • KAFKA_BROKER_ID=0 在kafka集群中,每个kafka都有一个BROKER_ID来区分自己
    • KAFKA_ZOOKEEPER_CONNECT={host-ip}:{zookeeper-port}/kafka 配置zookeeper管理kafka的路径
    • KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://{host-ip}:9092 把kafka的地址端口注册给zookeeper
    • KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 kafka监听地址

如果失败了则删除镜像重新上传,删除的shell语句为:

docker rm kafka

测试kafka生产和消费

查看镜像信息及地址;

docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq) | sed 's#^/##'

请添加图片描述
生产测试消息

echo "test-message" | docker exec -i kafka /opt/kafka/bin/kafka-console-producer.sh \--broker-list 172.17.0.3:9092 \--topic test-topic

消费测试消息

docker exec kafka /opt/kafka/bin/kafka-console-consumer.sh \--bootstrap-server 172.17.0.3:9092 \--topic test-topic \--from-beginning

请添加图片描述

相关文章:

  • Smart Input Pro IDEA 插件推荐
  • Redis(2)——AOF持久化
  • 不依赖rerank 模型排序通过使用 PostgreSQL 中的 pgvector 与 tsearch2 函数进行混合搜索提高召回率
  • 机器学习重构光子学设计范式:从智能器件到前沿系统
  • 腾讯云TCCP认证考试报名 - TDSQL数据库交付运维高级工程师(PostgreSQL版)
  • 【Linux】基于单例模式的线程池设计
  • window11中开启ubuntu22.04子系统
  • Process simulate机器人操作工艺仿真
  • VGG-19(Visual Geometry Group)模型
  • ubuntu使用tftp传输文件
  • Ubuntu 使用kubeadm部署k8s系统组件反复重启的问题
  • ubuntu2404 Server扩展PV
  • 剑指offer32_二叉搜索树的后序遍历序列
  • OpenCV根据模板图像寻找环境中的目标
  • 状态压缩与前缀和的魔力:破解LeetCode 1371元音之谜
  • RAG实践:Routing机制与Query Construction策略
  • Gemini 2.5 Flash-Lite 新版解析:与 Pro 和 Flash 版本的性能对比
  • JavaEE-Spring-IoCDI
  • 深入探索 UnoCSS:下一代原子化 CSS 引擎
  • HTML 与 CSS 的布局机制(盒模型、盒子定位、浮动、Flexbox、Grid)问题总结大全
  • 网站建设 英语词汇/苏州做网站的专业公司
  • 湛江北京网站建设/北京seo课程
  • 自学做网站界面/seo是什么服务
  • 做游戏网站思想步骤/网络服务费计入什么科目
  • 网站建设中是什么意思/有域名了怎么建立网站
  • 去哪个网站做试用好/腾讯广告官网