K8S系列文章之 Docker安装使用Kafka
通过Docker拉取镜像的方式进行安装
照例先去DockerHub找一下镜像源,看下官方提供的基本操作(大部分时候官方教程比网上的要清晰一些,并且大部分教程可能也是翻译的官方的操作步骤,所以直接看官方的就行)
老实说Kafka的参数配置项太多了,比较繁琐。
如果是Linux环境下打算直接用官方提供的docker-compose直接读取yml配置文件了
docker-compose.yml
version: "3"
services:zookeeper:image: 'bitnami/zookeeper:latest'ports:- '2181:2181'environment:- ALLOW_ANONYMOUS_LOGIN=yeskafka:image: 'bitnami/kafka:latest'ports:- '9092:9092'environment:- KAFKA_BROKER_ID=1- KAFKA_CFG_LISTENERS=PLAINTEXT://0.0.0.0:9092- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.59.149:9092- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181- ALLOW_PLAINTEXT_LISTENER=yesdepends_on:- zookeeper
直接运行即可
docker-compose up -d
官网同时还提供了Kafka without Zookeeper (KRaft)的配置方式
WIn10可以在Docker容器内部通过挂载配置文件,继续用上面的方式,但我这里决定用繁琐的方式一步步来
拉取Zookeeper和Kafka镜像
docker pull zookeeper
docker pull bitnami/kafka:3.1
在Docker容器内创建网络(连通Zookeeper和Kafka)
app-tier:网络名称
–driver:网络类型为bridge
docker network create app-tier --driver bridge
启动Zookeeper节点
在Docker run命令里加上--network app-tier,让Zookeeper容器启动后连接上创建的网络(并且允许匿名登陆)
docker run -d --name zookeeper-server --network app-tier -e ALLOW_ANONYMOUS_LOGIN=yes zookeeper
启动kafka服务端
同样的方式,让Kafka服务端节点也连上这个网络
dockerun -d --name kafka-server --network app-tier -p 9092:9092 -e ALLOW_PLAINTEXT_LISTENER=yes -e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.59.149:9092 -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 bitnami/kafka:3.1
注意:
KAFKA_ADVERTISED_HOST_NAME为当前主机IP或地址(重点:如果是服务器部署则配服务器IP或域名否则客户端监听消息会报地址错误)
kafka 节点启动后,会向 zookeeper 注册自己,同时告诉 zookeeper 自身的通信地址,这个地址就是配置文件中的 advertised.listeners,如果没有配置 advertised.listeners,就会使用listeners。
启动Kafka客户端
Finally we create a new container instance to launch the Apache Kafka client and connect to the server created in the previous step:
docker run -it --rm --network app-tier -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 bitnami/kafka:3.1 kafka-topics.sh --list --bootstrap-server kafka-server:9092
Producer and consumer using external client
These clients, from the same host, will use localhost to connect to Apache Kafka.
#生产者创建Topic
kafka-console-producer.sh --bootstrap-server 127.0.0.1:9092 --topic test
#消费者接收消息
kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic test --from-beginning
最后发送个经典的Hello World做为测试
kafka-server

kafka-client

最后推荐一个kafka的图形化管理工具
kafka-map
访问地址:http://服务器IP:9001/ #端口号看自己喜好修改映射
DEFAULT_USERNAME:默认账号admin
DEFAULT_PASSWORD:默认密码admin
GitHub地址:https://github.com/dushixiang/kafka-map/blob/master/README-zh_CN.md
Gitee地址 https://gitee.com/dushixiang/kafka-map
拉取镜像
docker pull dushixiang/kafka-map:latest
启动运行
docker run -d --name kafka-map --network app-tier -p 9001:8080 -v /opt/kafka-map/data:/usr/local/kafka-map/data -e DEFAULT_USERNAME=admin -e DEFAULT_PASSWORD=admin --restart always dushixiang/kafka-map:latest


相关文章:
K8S系列文章之 Docker安装使用Kafka
通过Docker拉取镜像的方式进行安装 照例先去DockerHub找一下镜像源,看下官方提供的基本操作(大部分时候官方教程比网上的要清晰一些,并且大部分教程可能也是翻译的官方的操作步骤,所以直接看官方的就行) 老实说Kafka…...
js如何获取字符串大小是几M
js如何获取字符串大小是几M 在JavaScript中,可以使用以下方法来获取字符串的大小(以字节为单位): function getStringSizeInBytes(str) {// 使用UTF-8编码计算字符串的字节长度let totalBytes new Blob([str]).size;// 将字节长…...
服务器托管中1U是什么意思?
U的概念 U是一种表示服务器外部尺寸的单位,是unit的缩略语。 1U4.44514.445cm 2U4.44528.89cm 4U4.445*413.335cm 在托管服务器时,服务商经常说的“1U”是外形满足EIA(美国电子工业协会)规格、厚度为4.445cm的产品,设…...
Golang自定义类型与类型别名
type myInt int32 与 type myInt int32,概念并不相同 自定义类型:type myInt int32 通过这种方式定义的类型是一个全新的类型,这个新类型与int32有相同的底层结构,但是却与int32类型不兼容。 type myInt int32var a int32 5 var…...
golang环境搭建
1. 下载、安装 wget -O go.tar.gz https://golang.google.cn/dl/go1.21.0.linux-amd64.tar.gz sudo rm -rf /usr/local/go && sudo tar -zxvf go.tar.gz -C /usr/local2.创建工作目录 cd mkdir -p go/{bin,pkg,src}3.添加环境变量 sudo vim /etc/profile写入以下…...
一套优质的MES系统,应该具备哪些特质?
企业如何在众多的MES系统中,选择最合适自己的产品呢?也就是说,一套优质的MES,因该具备哪些特质呢?下面有SAP代理商哲讯智能科技详细介绍: 随着经济全球化趋势不断加强以及中美贸易战的愈演愈烈,…...
常见的路由协议之RIP协议与OSPF协议
目录 RIP OSPF 洪泛和广播的区别 路由协议是用于在网络中确定最佳路径的一组规则。它们主要用于在路由器之间交换路由信息,以便找到从源到目标的最佳路径。 常见的路由协议: RIP (Routing Information Protocol):RIP 是一种基于距离向量算…...
使用ip2region获取客户端地区
目录 从gitee拉取ip2region.xdb资源文件 写测试类 注意要写对资源路径 本地测试结果 编辑 远端测试结果 从gitee拉取ip2region.xdb资源文件 git clone https://gitee.com/lionsoul/ip2region.git 将xdb放入resources资源文件夹 引入依赖 <dependency><groupId&…...
RH850从0搭建Autosar开发环境【24】- Davinci Configurator之DEM模块配置详解(上)
DEM模块配置详解 - 上 一、Autosar中DEM模块简介1.DEM对其他模块的依赖2.DEM模块架构2.1 DEM模块Dem Satellite(s) 和Master2.2 诊断事件处理2.2.1 基于计数器的算法2.2.2 基于时间的算法三、配置错误项处理3.1 容器DemEventParameter3.2 容器DemOperationCycleRef3.3 容器DemO…...
uniapp封装接口
uniapp封装接口 在本篇技术博文中,我们将深入探讨 Uniapp 框架中如何封装接口,以简化开发流程并提高效率。接口封装是一种重要的开发策略,它不仅可以减少代码量,还能提高代码的复用性和维护性。 通过阅读本文,你将深…...
Android布局【TableLayout】
文章目录 说明常见属性子控件设置属性 项目结构主要代码 说明 TableLayout也称为表格布局 常见属性 android:collapseColumns:设置需要被隐藏的列的序列号,从0开始android:stretchColumns:设置允许被拉伸的列的列序号,从0开始&…...
C/C++中static关键字详解
静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可以改变其值。 静态变量或静态函数只有本文件内的代码才能访问它,它的名字在其它文件中不可见。用法1:函数内部声明…...
Memory Analyzer(MAT)分析内存
关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、人工智能等,希望大家多多支持。 目录 一、导读二、概览三、 使用3.1 hprof 文件准备3.1.1 Android sutdi…...
计算机网络面试题
目录 OSI 的五层模型分别是?各自的功能是什么? 应用层 传输层 网络层 数据链路层 物理层 OSI 的七层模型分别是? TCP连接的建立 三次握手中客户端和服务端是什么状态 为什么是三次,不是两次? 四次…...
【LeetCode75】第三十题 奇偶链表
目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目给我们一个链表,让我们把奇索引和偶索引的节点区分开来 ,参考示例给出的图我们应该就能很清晰地知道题目是什么…...
docker 学习--03 环境安装(本人使用的win10 Linux也是在win10下模拟)
docker 学习–03 环境安装(本人使用的win10 Linux也是在win10下模拟) docker 学习-- 01 基础知识 docker 学习-- 02 常用命令 文章目录 docker 学习--03 环境安装(本人使用的win10 Linux也是在win10下模拟)[TOC](文章目录) 1. wi…...
【代码质量】认知复杂度(COGNITIVE COMPLEXITY)一种衡量可理解性的新方法
白皮书地址 摘要:圈复杂度最初是作为“可测试性和模块控制流的“可维护性”。虽然它擅长于衡量前者,但它的数学模型不能产生一个令人满意的值来衡量后者。本文描述一种打破数学度量模型的新度量模型来评估代码,以弥补圈复杂度的缺点…...
什么是JavaScript中的内存泄漏和如何避免内存泄漏?
1、什么是JavaScript中的内存泄漏和如何避免内存泄漏? JavaScript中的内存泄漏是指在程序运行过程中,一些不再使用的对象或数据仍然存在于内存中,导致内存无法释放,最终导致内存耗尽。 为了避免内存泄漏,可以采取以下…...
安全头响应头(三)X-Content-Type-Options
一 X-Content-Type-Options响应头 说明:先写个框架,后续补充 思考:请求类型是 "style" 和 "script" 是什么意思? script标签 style StyleSheet JavaScript MIME type 文件扩展和Content-Type的映射关系 场景: 一个…...
13 计算机视觉-代码详解
13.2 微调 为了防止在训练集上过拟合,有两种办法,第一种是扩大训练集数量,但是需要大量的成本;第二种就是应用迁移学习,将源数据学习到的知识迁移到目标数据集,即在把在源数据训练好的参数和模型ÿ…...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...
Chrome 浏览器前端与客户端双向通信实战
Chrome 前端(即页面 JS / Web UI)与客户端(C 后端)的交互机制,是 Chromium 架构中非常核心的一环。下面我将按常见场景,从通道、流程、技术栈几个角度做一套完整的分析,特别适合你这种在分析和改…...
恶补电源:1.电桥
一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...
论文阅读:Matting by Generation
今天介绍一篇关于 matting 抠图的文章,抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法,已经有很多的工作和这个任务相关。这两年 diffusion 模型很火,大家又开始用 diffusion 模型做各种 CV 任务了&am…...
rm视觉学习1-自瞄部分
首先先感谢中南大学的开源,提供了很全面的思路,减少了很多基础性的开发研究 我看的阅读的是中南大学FYT战队开源视觉代码 链接:https://github.com/CSU-FYT-Vision/FYT2024_vision.git 1.框架: 代码框架结构:readme有…...
