Kafka3.3.1 docker镜像构建及使用说明

【Kafka】Kafka3.3.1集群搭建指南KRaft版本 元数据的管理被整合到了 Kafka 当中,而不需要使用像 ZooKeeper 这样的第三方工具,这大大简化了 Kafka 的架构。这种新的 KRaft 模式提高了分区的可伸缩性和弹性,同时简化了 Kafka 的部署,现在可以不依赖 ZooKeeper 单独部署 Kafka 了。这是第一个标志着可以在生产环境中使用 KRaft(Kafka Raft)共识协议的版本。在几年的开发过程中,它先是在 Kafka 2.8 早期访问版本中发布,然后又在 Kafka 3.0 预览版本中发布。 阅读详情

前言

kafka3.3.1版本的kraft已经标记为生产就绪了。抛弃了zookeeper,部署起来也会方便一些,但是在通过docker部署的时候遇到了一些问题,在这里记录一下。

Docker镜像构建

官方quickstartdemo中讲如果使用kraft,需要先对存储路径进行格式化。这个在构建镜像过程中遇到了问题。因为之前构建镜像的时候没有遇到过这种需要先初始化再构建的情况。研究后发现,可以通过脚本初始化。

创建docker-entrypoint.sh脚本。如果执行脚本的时候指定init参数就初始化存储路径,否则不初始化。

#!/bin/bash

if [ "$1" = 'init' ]; then
	KAFKA_CLUSTER_ID="$(bin/kafka-storage.sh random-uuid)"
	bin/kafka-storage.sh format -t $KAFKA_CLUSTER_ID -c config/kraft/server.properties
	echo "formated ..."
fi

bin/kafka-server-start.sh config/kraft/server.properties

编写dockerfile,将上述脚本拷贝到镜像中

FROM openjdk:8

MAINTAINER aspirin

ENV LANG=C.UTF-8

ENV TZ=Asia/Shanghai

COPY kafka_2.12-3.3.1.tgz /opt

RUN cd /opt && tar -zxvf kafka_2.12-3.3.1.tgz -C /opt

RUN rm -rf kafka_2.12-3.3.1.tgz

COPY docker-entrypoint.sh /opt/kafka_2.12-3.3.1

WORKDIR /opt/kafka_2.12-3.3.1

ENTRYPOINT ["/bin/bash", "docker-entrypoint.sh" ]

构建镜像

docker build -t ss/kafka:2.12-3.3.1 .

这样在首次启动镜像的适合指定init参数,之后不再指定参数即可解决。

Docker容器外无法访问已经启动kafka容器,但是容器内可以

在server.properties配置文件中,kafka有两个参数,advertised.listeners和listeners。可以查看官方文档说明。当然不看也罢,越看越迷糊。

大概意思就是说listeners参数是内网通信用的,但是像docker这种可以理解为是通过外网通信了,这时候不止需要配置listeners,还需要配置advertised.listeners,这个是外网通信用的,可以理解为这个参数是对内网地址的代理。这个参数需要写docker宿主机的ip地址,端口写启动docker容器时候映射的端口。

说的有点绕,先上配置看一下:

listeners=PLAINTEXT://0.0.0.0:9092,CONTROLLER://:9093
advertised.listeners=PLAINTEXT://192.168.2.3:9092

第一行配置值为0.0.0.0:9092,这个地址可写localhost(试过了不可以是localhost)也可以写回环地址0.0.0.0

第二行的配置值,192.168.2.3这个ip是docker容器宿主机的ip。9092需要跟第一行保持一致。因为kafka是启动在9092端口上的,如果改成1092,肯定不对,因为1092这个端口就没有被程序使用。这里写了9092,docker容器创建时候映射的也是这个端口,而且需要保持一致。

疑问:docker容器创建的时候将9092映射成其他的可以吗?没有尝试过,应该是不可以。有兴趣可以尝试一下,如果非要修改端口建议将上述所有9092同时修改为其他端口。

可以看到我下面容器启动映射的端口也是9092.

afae7c849595   ss/kafka:2.12-3.3.1                          "/bin/bash docker-en…"   About a minute ago   Up About a minute           0.0.0.0:9092->9092/tcp, :::9092->9092/tcp                                                                                                                                                                                                                                                                                                                        kafka331

kafka 3.7.0 介绍,并以KRaft 模式进行docker构建镜像、运行 如果您觉得有用的话,记得给,写作不易啊^ _ ^。而且听说,实在白嫖的话,那欢迎常来啊!!!kafka 采用 3.7.0 版本;jdk 采用 LTS JDK 8(长期支持8版本);并以KRaft 模式启动。注:kafka 3.7.0 版本不再必须依赖 Zookeeper。KRaft 模式是 Kafka 从 2.8.0 版本引入的特性,允许 Kafka 集群在没有 Zookeeper 的情况下运行。 阅读详情

相关推荐

Docker搭建Kafka集群

详细讲解docker如何搭建Kafka集群

u011651342的博客 1万+

DevOps系列文章 之 docker 制作kafka镜像

以上Dockerfile使用了官方的OpenJDK 8镜像作为基础镜像,并下载并安装了指定版本的Kafka。同时,它还设置了Kafka的环境变量和工作目录,并暴露Kafka的监听端口。在这一步,我们将创建一个Dockerfile,用于制作Kafka镜像。该命令会在后台运行一个名为kafka的容器,并将主机的9092端口映射到容器的9092端口。至此,你已经成功地用Docker制作了一个Kafka镜像,并成功运行了一个Kafka容器。在制作Kafka镜像之前,你需要下载Kafka二进制文件。

Coder_Boy_的博客 2926

kafka的Docker镜像使用说明:wurstmeister/kafka

为了评估Kafka的性能,我们需要使用Kafka自带的压测工具。经过查询,我们发现Apache Kafka官方镜像中并未包含这些压测工具,但wurstmeister/kafka镜像中则包含了这些工具,因此决定采用该镜像进行安装。

ezreal_pan的博客 1147

kafka的Docker镜像使用说明(wurstmeister/kafka)

在hub.docker.com网站上,Star最多的kafka镜像是wurstmeister/kafka,今天一起来实践这个镜像,使用此镜像搭建kafka环境,并且生产和消费消息;

weixin_49131823的博客 2010

docker搭建kafka集群

docker搭建kafka集群 我在M1 mbp上使用的以下镜像 新建文件zk-kafka-docker-compose.yml version: "2" services: zookeeper: user: root image: docker.io/zookeeper ports: - "12181:2181" environment: - ALLOW_ANONYMOUS_LOGIN=yes volumes: - zoo

Learn From The Masters 7252

SpringBoot 构建 Docker 镜像的最佳 3 种方式

本文将介绍3种技术,通过 Maven 把 SpringBoot 应用构建成 Docker 镜像。 (1)使用 spring-boot-maven-plugin 内置的 build-image. (2)使用 Google 的 jib-maven-plugin。 (3)使用 dockerfle-maven-plugin。 Spring Boot 应用 为了方便实践,需要一个 Spring Boot 项目。 项目环境: Java 11 Maven 3.6.3 使用 m.

javase1086的博客 7673

Kafka Docker镜像构建实战指南

你是否曾为搭建Kafka环境而烦恼?从版本兼容到依赖配置,每一步都可能遇到各种问题。今天,我将带你揭秘如何通过Docker轻松构建Kafka镜像,让你从此告别环境搭建的烦恼! ## 🚀 快速上手:5分钟构建你的第一个Kafka镜像 ### 准备工作 首先,确保你的系统已经安装了Docker。然后,克隆项目仓库: ```bash git clone https://gitcode.com/gh

gitblog_00282的博客 993

Kafka(一)使用Docker Compose安装单机Kafka以及Kafka UI_docker 部署单机kafka

还有就是,当使用任何来自于bitnami的镜像,如何遇到了问题,想查看日志,可以将镜像的Debug日志打开,通过环境变量控制由于Docker Hub的说明字数限制,可以在Github上查看。

2501_90252715的博客 2099

kafka-docker镜像构建流程:从下载Kafka到打包镜像

在开始构建Kafka Docker镜像前,需确保系统已安装Docker环境。本项目提供完整的自动化构建脚本,核心依赖文件包括: - **版本控制脚本**:[versions.sh](https://link.gitcode.com/i/970477d3de2d8d9987e6d4e282992d20) - 定义Kafka与Scala版本号 - **构建工具**:[docker_buildx](h...

gitblog_00095的博客 1083

【Kafka】Kafka 镜像 Kafka mirroring (MirrorMaker)

1.概述 Kafka的镜像特性使得维护一个现有Kafka集群的副本成为可能。下图展示了如何使用MirrorMaker工具将一个源Kafka集群镜像到一个目标(镜像)Kafka集群。该工具使用一个Kafka消费者来消费来自源集群的消息,并使用一个嵌入式的Kafka生产者将这些消息重新发布到本地(目标)集群。 也有关于镜像制造者的文档 文档 2.如何设置镜子 设置镜像很简单——在启动目标集群后,只需启动镜像制造者进程。至少,镜像制造者有一个或多个消费者配置,一个生产者配置和一个白名单或黑名单。你需要将消费者.

九师兄 3269

kafka 的docker镜像

kafka的docker镜像包含了kafka,zookeeper 和kafkamanager,可以通过docker 来load 安装

Kafka Docker镜像构建完整指南:从零到生产部署

想要快速搭建Kafka环境却苦于复杂的配置?🤔 本指南将带你从零开始,通过Docker技术快速构建高性能的Kafka集群。无论你是开发测试还是生产部署,这里都有完整的解决方案! ## 为什么选择Docker部署Kafka? 传统Kafka部署需要手动安装Java、下载Kafka、配置环境变量等一系列繁琐操作。而使用Docker部署Kafka,就像把整个Kafka环境"打包"成一个便携的容器,

gitblog_01091的博客 1028

电力抄表协议DL/T645和698.45到底有啥区别?一张图帮你选对协议

本文深入对比了电力抄表协议DL/T645和DL/T698.45的技术差异,从协议架构、报文结构、功能覆盖到实施成本进行全面分析。通过实际案例和数据,揭示698.45协议在通信效率、业务扩展性和长期成本上的优势,并提供清晰的选型决策流程图,帮助工程师根据具体需求选择最适合的电力抄表协议。

weixin_38168696的博客 401

【 Docker系列】 Docker部署kafka

在于 Confluent 的 Zookeeper 镜像经过了特定的优化和配置,能够与 Confluent 平台的其他组件(如 Kafka、Schema Registry 等)无缝协作。直接使用 Apache 官方的 Zookeeper 镜像虽然可以工作,但需要进行额外的配置才能与 Confluent Kafka 配合使用。而 Confluent 平台作为 Kafka 的企业级发行版,提供了更多增强功能和工具。如果命令返回了详细的镜像信息,说明该镜像存在且可访问。下面是一个经过验证的。

优快云站内信: https://i.youkuaiyun.com/#/msg/chat/qyj19920704 1万+

计算机视觉与深度学习实战:以Python为工具,基于帧间差法进行视频目标检测

计算机视觉是一门研究如何使机器从数字图像或视频中提取、分析和理解有用信息的学科。它涉及图像处理、计算机图形学、人工智能等多个领域的知识。通过计算机视觉技术,我们可以实现图像的识别、分类、目标检测等功能。本文介绍了计算机视觉与深度学习的基本概念和原理,并以Python为工具,基于帧间差分法实现了视频目标检测。帧间差分法具有算法实现简单、程序设计复杂度低、对光线等场景变化不太敏感等优点,因此在实际应用中得到了广泛的应用。然而,帧间差分法也存在一些局限性,如对于缓慢移动或静止的物体检测效果不佳。

一个好知识的传播者 1256

Qwen2-VL出现RuntimeError: CUDA error: too many resources requested for launch CUDA kernel errors的解决方案

本文主要介绍了Qwen2-VL出现RuntimeError: CUDA error: too many resources requested for launch CUDA kernel errors的解决方案,希望能对使用Qwen2-VL的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 13万+

用 docker 部署kafka

通过 docker 部署 kafka 服务

lijiewen2017的博客 2万+

用 SAML 2.0 Bearer Assertion 配置 ABAP OAuth 2.0 令牌交换

摘要: SAP系统集成中,身份跨系统传递是关键挑战。OAuth 2.0的SAML 2.0 Bearer Assertion grant机制通过SAML断言换取访问令牌,实现安全身份传递。配置核心在ABAP的SOAUTH2事务码,需绑定可信SAML身份提供商(IdP)并指定访问范围。实际应用中,需确保SSL加密传输,正确配置SAML IdP信任关系,并为OAuth客户端分配专用系统用户。常见问题包括证书不匹配、权限配置不当等,需分层控制权限边界以保障安全。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 835

Kafka Docker镜像构建终极指南:从零到多架构部署

还在为复杂的Kafka环境配置而烦恼吗?想要快速搭建一个可移植、支持多架构的Kafka集群吗?本教程将带你深入理解Kafka Docker镜像构建的核心原理,掌握自动化部署的关键技巧,让你的Kafka环境部署变得简单高效!🚀 ## 🤔 为什么选择Docker化Kafka? **痛点识别:** - 环境依赖复杂:需要手动安装Java、Zookeeper、Kafka - 版本兼容问题:不同版本

gitblog_00957的博客 795

VHDL六层电梯控制器及仿真

六层电梯电梯 设计要求:设计一个六层电梯控制系统要求有超载、关门中断、提前关门清除报警信电梯外人的上升请求信号,电梯外人的下降请求信号, 电梯外人上升请求信号显示电梯外人下降请求信号显示到达楼层信号 设计思路:输入有clk时钟信号(频率为2Hz) full,deng,quick,clr超载、关门中断、提前关门清除报警c_u1,c_u2,c_u3,c_u4,c_u5电梯外人的上升请求c_d2,c_d3,c_d4,c_d5,c_d6 电梯外人的下降请求 d1,d2,d3,d4,d5,d6电梯内人的...

QQ_778132974的博客 1708

Figma做原型设计一篇教会你,全栈软件开发必备技能,前后端岗位锐减找工作的底牌

本文介绍了使用Figma进行前端应用原型设计的方法与优势。Figma作为主流设计工具,能够满足大多数应用系统的原型设计需求,强调系统设计应保持简洁合理。文章详细说明了Figma的基本操作流程,包括创建Frame页面、组件使用、交互设置等核心功能,并指出命名规范的重要性。同时对比了Axure、墨刀等其他设计工具的特点,建议根据具体需求选择合适的平台。最后强调原型设计主要关注交互功能展示,业务逻辑应通过需求文档表述。整体而言,Figma凭借其简洁高效的特点,已成为原型设计的优选工具。

有问题或资源连接有缺失的可以私信公众号新潮看世界获取 459

构建kafka-eagle docker镜像

我个人认为,如果你想靠着背面试题来获得心仪的offer,用癞蛤蟆想吃天鹅肉形容完全不过分。想必大家能感受到面试越来越难,想找到心仪的工作也是越来越难,高薪工作羡慕不来,却又对自己目前的薪资不太满意,工作几年甚至连一个应届生的薪资都比不上,终究是错付了,错付了自己没有去提升技术。这些面试题分享给大家的目的,其实是希望大家通过大厂面试题分析自己的技术栈,给自己梳理一个更加明确的学习方向,当你准备好去面试大厂,你心里有底,大概知道面试官会问多广,多深,避免面试的时候一问三不知。

weixin_42179304的博客 1476

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

保姆级教程Docker部署Zookeeper模式的Kafka镜像

为了简化安装过程并确保环境一致性,推荐使用 Docker 来本地部署 Kafka。这不仅能够快速启动服务,还能有效解决不同操作系统之间的兼容性问题,采用隔离环境的方式,避免了因环境差异导致的问题。

BigCookies的博客 3239

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Docker 详解+示例(部署Kafka镜像容器)

Docker是一个开源的容器化平台,通过将应用程序及其依赖打包成轻量级容器,实现一次构建,到处运行。相比传统虚拟机,Docker容器启动更快(秒级)、资源占用更少(MB级),支持单个宿主机运行数百个容器。文章详细介绍了Docker的核心命令,包括镜像管理(pull/build/push)、容器操作(run/start/stop)、资源限制和网络配置等,并提供了Kafka等应用容器的示例部署方法。Docker已成为开发测试、微服务架构和云原生应用的核心工具。

2401_84926677的博客 2998

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

上一篇: Golang链接带密码认证的MongoDB
下一篇: SpringCloud 协同开发方案
iFence
博客等级 码龄9年 8051粉丝 111原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值