Kafka(Go)教程(一)---通过docker-compose 安装 Kafka

Kafka 集群 Golang 应用实例 这个实例做了些什么? 搭建了拥有 3 节点 kafka、 3 节点 zookeeper 的 docker 集群服务; 分别创建了 1 个消息发布者和 2 个相同消费组的消息订阅者的 docker 应用; 使用 ab 进行并发测试,验证该实例消息的订阅 / 发布功能; 通过这个实例,能够了解些什么? 使用 Docker Compose 构建 Kafka 集群 ... 阅读详情

来自:指月 https://www.lixueduan.com

原文:https://www.lixueduan.com/post/kafka/01-install/

本文记录了如何通过 docker-compose 快速启动 kafka,部署一套开发环境。

1. 概述

Kafka 是由 Apache 软件基金会旗下的一个开源 消息引擎系统。

使用 docker-compose 来部署开发环境也比较方便,只需要提准备一个 yaml 文件即可。

Kafka 系列相关代码见 Github

2. docker-compose.yaml

完整的 docker-compose.yaml内容如下:

当前 Kafka 还依赖 Zookeeper,所以需要先启动一个 Zookeeper 。

version: "3"
services:
  zookeeper:
    image: 'bitnami/zookeeper:latest'
    ports:
      - '2181:2181'
    environment:
      # 匿名登录--必须开启
      - ALLOW_ANONYMOUS_LOGIN=yes
    #volumes:
      #- ./zookeeper:/bitnami/zookeeper
  # 该镜像具体配置参考 https://github.com/bitnami/bitnami-docker-kafka/blob/master/README.md
  kafka:
    image: 'bitnami/kafka:latest'
    ports:
      - '9092:9092'
      - '9999:9999'
    environment:
      - KAFKA_BROKER_ID=1
      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://123.57.236.125:9092
      - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
      # 允许使用PLAINTEXT协议(镜像中默认为关闭,需要手动开启)
      - ALLOW_PLAINTEXT_LISTENER=yes
      # 关闭自动创建 topic 功能
      - KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=false
      # 全局消息过期时间 6 小时(测试时可以设置短一点)
      - KAFKA_CFG_LOG_RETENTION_HOURS=6
      # 开启JMX监控
      - JMX_PORT=9999
    #volumes:
      #- ./kafka:/bitnami/kafka
    depends_on:
      - zookeeper
  # Web 管理界面 另外也可以用exporter+prometheus+grafana的方式来监控 https://github.com/danielqsj/kafka_exporter
  kafka_manager:
    image: 'hlebalbau/kafka-manager:latest'
    ports:
      - "9000:9000"
    environment:
      ZK_HOSTS: "zookeeper:2181"
      APPLICATION_SECRET: letmein
    depends_on:
      - zookeeper
      - kafka

镜像

在 dockerhub 上 kafka 相关镜像有 wurstmeister/kafka 和 bitnami/kafka 这两个用的人比较多,大概看了下 bitnami/kafka 更新比较频繁所以就选这个了。

监控

监控的话 hlebalbau/kafka-manager 这个比较好用,其他的都太久没更新了。

不过 kafka-manager 除了监控外更偏向于集群管理,误操作的话影响比较大,如果有 prometheus + grafana 监控体系的直接用 kafka_exporter 会舒服很多。

另外 滴滴 开源的 LogikM 看起来也不错。

数据卷

如果有持久化需求可以放开 yaml 文件中的 volumes相关配置,并创建对应文件夹同时将文件夹权限调整为 777。

因为容器内部使用 uid=1001 的用户在运行程序,容器外部其他用户创建的文件夹对 1001 来说是没有权限的。

目录结构

整体目录结构如下所示:

kafka
├── docker-compose.yaml
├── kafka
└── zookeeper

启动

在 docker-compose.yaml 文件目录下使用以下命令即可一键启动:

docker-compose up

3. 测试

启动后浏览器直接访问localhost:9000即可进入 Web 监控界面。

Kafka 系列相关代码见 Github

万达电影 com.wandafilm.app headers check 万达电影 安卓逆向 抓包 逆向 check 阅读详情

相关推荐

SAP 财务快速记账之—G/L Item Fast Entry

SAP FICO 运维解决方案

lijinbao171022的博客 1649

【Docker系列】1.docker-compose部署zk集群+kafka集群

1,新建网络 docker network create --driver bridge --subnet 172.23.0.0/16 --gateway 172.23.0.1 zookeeper_network 2,查看新建的网络是否成功 docker network ls 3,如果建错了,可删除 docker network rm {id} 4,安装zookeeper以及kafka镜像+kafka管理工具 docker pull zookeeper docker

颜淡慕潇 2万+

ESP8266红外控制美的空调:从协议解析到Home Assistant集成

红外遥控技术作为一种经典的非接触式控制方式,其原理是通过红外发光二极管发射经过特定频率调制的光信号来传递指令。在物联网和智能家居领域,利用微控制器如ESP8266模拟红外信号,成为将传统家电接入智能生态系统的关键技术。这项技术通过精准解析和生成符合设备厂商私有协议的红外编码,实现了对空调、电视等设备的远程与自动化控制,具有很高的实用价值。本文聚焦于美的空调的红外协议,深入探讨了其脉冲宽度调制(PWM)和全量式编码的特点,并提供了基于ESP8266的完整解决方案,包括硬件连接、库函数API详解以及如何将其无缝

weixin_30718391的博客 402

docker-compose部署kafka

docker-compose部署kafka

QQ83512272的博客 2133

wpa_supplicant EAPOL状态机分析

wpa_supplicant EAPOL状态机分析

加油鸭 1477

2024最新指南:如何用Python批量下载Sentinel-2数据(附避坑清单)

本文提供2024年最新Python批量下载Sentinel-2遥感数据的完整指南,涵盖环境配置、API准备、核心下载流程实现及实战避坑清单。通过智能查询器、断点续传下载器等实用工具,帮助用户高效获取遥感数据,避免常见网络问题和数据完整性验证失败。

silver的专栏 621

Kafka可视化管理工具kafka-manager部署安装和使用

Kafka可视化管理工具kafka-manager部署安装和使用

qq_36306519的博客 2万+

双有源桥(DAB)进阶:EPS调制策略与Matlab/Simulink仿真实践

本文深入探讨了双有源桥(DAB)的扩展移相(EPS)调制策略及其在Matlab/Simulink中的仿真实践。通过分析EPS的两种黄金调制策略——回流功率消除和电流应力优化,结合实际工程案例,展示了如何提升DAB系统的效率和性能。文章还详细介绍了Simulink模型搭建要点和关键仿真结果,为工程师提供了实用的技术参考。

weixin_33734785的博客 485

docker安装kafka-manager

【代码】docker安装kafka-manager。

qq_41081716的博客 1108

银河麒麟V10搭建vsftpd

1、查看是否有安装过2、安装3、服务启动步骤设置开机启动并此次立即启动启动重启停止查看状态4、系统防火墙放行ftp服务如果没有重要的数据在服务器里面,或者在本地虚拟机中外网无法访问的情况下,建议直接关闭防火墙即可省略以上繁琐的步骤。

hhq850741642的博客 6486

OpenClaw实操:给网站装上“智能眼睛”?手把手教你用OpenClaw实时监控网站

本文介绍如何在Windows系统使用OpenClaw构建智能网站监控助手。手把手教你通过配置本地AI模型,让openclaw构建的ai助手自动检测指定网页的内容变化,理解更新重要性,并及时通过邮件、微信、Telegram等渠道发出预警,让你第一时间掌握关键信息,彻底告别手动刷新。

plawuyue的博客 2165

linux安装kafka集群验证,centos7下docker-compose安装kafka集群

0 安装docker(略)1. 安装docker-compose下载安装文件curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose添加权限chmod +x /usr/local/bi...

weixin_39857480的博客 156

Flutter 直接调用so动态库,或调用C/C++源文件内函数

我把 .so 文件尝试放过好几个目录/lib/,最终都会报这个错误,现在才知道库文件需要放在你根本想象不到的地方!!!尝试了一些方法还是不行后我放弃了 ffi,想着用 Flutter 的 MethodChannel 桥接 android/ios 原生,再让原生去调 native 层。一顿操作把Android端的搞定了,当然中间涉及到 Kotlin和C++ 层的数据类型映射的痛苦,而且业务函数也不像一个 helloworld 那么简单,别提有多痛苦了。

开发以大橘为重 8353

Go操作Kafka之kafka-go

Kafka是一种高吞吐量的分布式发布订阅消息系统,本文介绍了如何使用kafka-go这个库实现Go语言与kafka的交互。Go社区中目前有三个比较常用的kafka客户端库 , 它们各有特点。首先是IBM/sarama(这个库已经由Shopify转给了IBM),之前我写过一篇使用sarama操作Kafka的教程,相较于sarama, kafka-go 更简单、更易用。segmentio/kafka-go 是纯Go实现,提供了与kafka交互的低级别和高级别两套API,同时也支持Context。

宋发元 7184

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

docker-compose安装kafka集群以及golang简单操作kafka

docker-compose安装kafka集群以及golang简单操作kafka 以及命令行操作topic记录

m0_59335012的博客 1067

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

go kafka入门教程,docker启动kafka环境

go kafka入门教程,docker kafka本地环境搭建 在本文中,您将学习: 使用docker启动本地环境kafka 使用go-kafka链接本地kafka进行消息生产和消费 获取本文代码 https://github.com/sl40/go-babysit git clone https://github.com/sl40/go-babysit.git 启动本地环境kafka 要在开发设置中使用 Kafka,请创建以下docker-compose.yml文件 docker-compose.y

u012739198的博客 2050

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

kafka docker-compose go

在云主机上调用docker-compose脚本: version: '3' services: zookeeper: image: zookeeper ports: - "2182:2181" networks: - hbl_net kafka: image: wurstmeister/kafka depends_on: - zookeeper links: - zookeeper network

weixin_37816121的博客 194

依赖Kafka的Go单元测试例解

Kafka[1]是Apache基金会开源的一个分布式事件流处理平台,是Java阵营(最初为Scala)中的一款杀手级应用,其提供的高可靠性、高吞吐量和低延迟的数据传输能力,让其到目前为止依旧是现代企业级应用系统以及云原生应用系统中使用的重要中间件。在日常开发Go程序时,我们经常会遇到一些依赖Kafka的代码[2],如何对这些代码进行测试,尤其是单测是摆在Go开发者前面的一个现实问题!有人说用moc...

TonyBai 1570

终极指南:如何使用Confluent Kafka Go与Docker快速部署容器化Kafka应用

Confluent Kafka Go是Apache Kafka的官方Golang客户端,专为构建高性能、可扩展的分布式流处理应用而生。🚀 结合Docker容器化技术,您可以快速搭建完整的Kafka开发环境,大幅提升开发效率和部署灵活性。 ## 为什么选择Confluent Kafka Go? Confluent Kafka Go客户端提供了丰富的功能和出色的性能: - **高性能消息处理*

gitblog_00340的博客 482

Hyperledger Fabric 基本环境搭建——安装docker-compose与Go(2)

Hyperledger Fabric 基本环境搭建——安装docker-compose与Go(2) 在上一步骤中我们已经安装好了docker,接下来我们安装docker-compose与Go语言的环境。 同样,本次试验的环境是在上篇安装好docker的基础之上,基于一个纯净的centos 7系统,关键步骤均有截图。 安装docker-compose docker-compose是定义和运行多容器...

ysjsyj的博客 998

Go操作各大消息队列教程(RabbitMQ、Kafka)

Go操作各大消息队列教程(RabbitMQ、Kafka)

weixin_45565886的博客 2976

Golang kafka build by docker-compose

使用docker-compose拉起kafka,docker-compose.yaml: version: '3.2' services: zookeeper: image: wurstmeister/zookeeper container_name: zookeeper ports: - "2181:2181" restart: always kafka: image: wurstmeister/kafka container_nam.

fullColor的博客 223

KMinion部署指南:Docker Compose与Kubernetes环境下的最佳实践

KMinion是一款功能丰富的Apache Kafka Prometheus exporter,采用Go语言开发,具有轻量级和高可配置性的特点,能够满足您对Kafka集群监控的各种需求。本文将详细介绍如何在Docker Compose和Kubernetes两种环境下部署KMinion,帮助您快速搭建起Kafka监控系统。 ## 一、项目简介 KMinion作为一款优秀的Kafka监控工具,能够

gitblog_01038的博客 424

OpenIM Server Docker 环境安装指南:从 Docker 与 Docker Compose 安装到一键拉起 IM 依赖组件

本指南以 OpenIM Server 官方贡献文档 [docs/contrib/install-docker.md](https://link.gitcode.com/i/f3d1a3752d2ed2ac93b2a794c29dde17) 为骨架,系统讲解在 Linux 服务器上完成 Docker 引擎安装、启动验证、镜像加速配置以及 Docker Compose 安装的全过程,并进一步结合仓库根

gitblog_00300的博客 529

Hyperledger fabric+kafka+docker-compose多机部署

主机 A B C D IP 139.180.137.89 139.180.209.250 139.180.137.0 198.13.46.60 角色 zookeeper0 kafka0 orderer0.trace.com zookeeper1 kafka1 orderer1.trace.com zo...

baidu_25845567的博客 1162
上一篇: Goland debug 断点无效解决方案
下一篇: Kafka(Go)教程(二)---hello Kafka
探索云原生
博客等级 码龄9年 730粉丝 131原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值