05、Kafka ------ 各个功能的作用解释(主题和分区 详解,用命令行和图形界面创建主题和查看主题)

目录

  • CMAK 各个功能的作用解释(主题)
    • ★ 主题
    • ★ 分区
    • ★ 创建主题:
    • ★ 列出和查看主题

CMAK 各个功能的作用解释(主题)



★ 主题

Kafka 主题虽然也叫 topic,但它和 Pub-Sub 消息模型中 topic 主题及 AMQP 的 topic 都不同(AMQP 的 topic 只是 Exchange 的类型)。

Kafka 的主题只是盛装消息的逻辑容器(注意是逻辑容器),主题之下会分为若干个分区,分区才是盛装消息的物理容器。

▲ 消息组织方式实际上是三级结构:主题 → 分区 → 消息。

▲ 主题只是消息的逻辑分类,它只是发布消息的类别或消费源的名称。

发布消息时,面向主题发布消息;
消费消息时,也面向主题消费;
但实际会由 Kafka 将消息存储到分区中,从分区中消费消息。

就是消息是存在分区中的,但是发布和消费消息是面向主题来的。


主题在物理上是不存在的,实际上程序存在的只是分区。



★ 分区

▲ 分区才是真正存储消息的地方,分区在物理存储层面就是一个一个的日志文件(就是数据文件),这些日志文件保存在 server.properties文件下的 log.dirs属性 指定目录下。
在这里插入图片描述

▲ 分区文件都是一个有序的记录序列,序列的数据项可通过下标访问,下标从0开始,如图所示:

在这里插入图片描述
▲ 分区文件的结构有点类似于 List 集合,只不过 List 集合存储在内存中,而分区文件则持久化地、存储在磁盘上。

消息被消费完成之后,是不会自动从分区中移除的,只能通过设置,比如过某一段时间之后,再从分区中移除。

在这里插入图片描述



★ 创建主题:

【备注】 Kafka 的 Broker 之间的地位是平等,没有所谓谁是主Broker,谁是副Broker的概念。

Kafka的主、从是体现在分区上的 ,分区可分为领导者分区(主)、追随者分区(副)。

领导者分区,其实就是主分区:对外提供服务。
追随者分区,就是所谓副分区:作用是作为主分区的后备。

kafka-topics.bat(.sh)命令可用于操作主题,包括创建主题、删除主题及列出主题、查看主题等。
例如如下命令即可创建一个主题:

^ 这个符号表示命令还没有写完,要换一行

kafka-topics.bat --create ^
–bootstrap-server localhost:9092 ^
–replication-factor 2 ^
–partitions 3 ^
–topic test1

上面命令指定了如下几个选项:

–create:指定创建主题。

–bootstrap-server:指定Kafka Broker的地址。

–replication-factor:指定复制因子。此处指定的复制因子为2,表明每个分区都有两个副本,一个领导者副本,一个追随者副本。

–partions:指定该主题包含的分区数。此处指定的分区数为3,表明该主题由3个分区组成。
–partions选项指定该主题由3个分区组成,而–replication-factor指定每个分区有2个副本,因此实际上该分区包含6(3 * 2)个分区,其中3个领导者分区,3个追随者分区。

–topic:指定主题名。


用命令行创建 topic

在这里插入图片描述

创建出来了,如图

在这里插入图片描述

主题信息:

因为分区是3,复制因子是2,所以一共有6个分区;
因为我们弄了3个broker节点。
如图:每个broker节点分配了两个分区

在这里插入图片描述



CMAK 界面创建topic

在这里插入图片描述

创建出来的主题

在这里插入图片描述

细看主题的分区之类的
因为分区是4,复制因子是3,所以一共有12个分区;
因为我们弄了3个broker节点。
如图:每个broker节点分配了4分区
在这里插入图片描述

分区的存放位置详解:

在这里插入图片描述



★ 列出和查看主题

▲ 可在CMAK列出和查看主题

▲ 也可使用 kafka-topics.bat 的 --list 选项来查看主题列表:

kafka-topics.bat --list --bootstrap-server localhost:9092

Kafka 的 Broker 之间的地位是平等,没有所谓谁是主Broker,谁是副Broker的概念。所以这里就随便写其中一个broker的端口号来查看主题:
如图,跟 CMAK 显示的一样,是3个主题。
在这里插入图片描述

▲ 可使用 kafka-topics.bat 的 --describe 选项来查看指定主题的详细信息。

kafka-topics.bat --describe --bootstrap-server localhost:9092 --topic 主题名

kafka-topics.bat --describe --bootstrap-server localhost:9092 --topic test2

在这里插入图片描述

不知道怎么查看,不知道有哪些命令的时候,可以直接输:kafka-topics 这个命令来看。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/607546.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

供应链安全-镜像 Trivy kubesec

开头语 写在前面:如有问题,以你为准, 目前24年应届生,各位大佬轻喷,部分资料与图片来自网络 内容较长,页面右上角目录方便跳转 Dockerfile 文件优化 减少镜像层:一次RUN指令形成新的一层&a…

人工智能图像生成的道德利弊

目录 一、我们应该关注人工智能图像吗?二、利用人工智能增强创造力的积极作用三、版权和剽窃问题四、对就业和劳动力动态的影响五、无意识的偏见和影响六、负责任地前行 人工智能(AI)发展迅速,尤其是近年来。据估计,超…

Flutter 监听前台和后台切换的状态

一 前后台的切换状态监听 混入 WidgetsBindingObserver 这个类,这里提供提供了程序状态的一些监听 二 添加监听和销毁监听 overridevoid initState() {super.initState();//2.页面初始化的时候,添加一个状态的监听者WidgetsBinding.instance.addObserver…

服务器宕机怎么办?怎么预防宕机?

相信不少用户会听到或者在文章中提到电脑宕机或者服务器宕机,不少用户对宕机的意思不太理解。那么服务器宕机是什么意思? 宕机属于计算机的术语,指电脑或者服务器不能正常工作。口语中我们简单的把停掉机器叫做down机,转换为汉字是…

【conda】conda 版本控制和环境迁移/安装conda加速工具mamba /conda常用指令/Anaconda配置

【conda】安装conda加速工具mamba /conda常用指令/Anaconda配置 0. conda 版本控制和环境迁移1. 安装conda加速工具mamba2. conda install version3. [Anaconda 镜像](https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/)使用帮助4. error deal 0. conda 版本控制和环境迁移…

抖去推账号矩阵+无人直播+文案引流系统开发搭建--开源

核心技术 1. AI自动直播: 智能系统通过丰富可定制的文案库, 拥有有料有趣的灵魂。不仅能自动语音讲解内容,还可以在直播中和用户灵活互动。直播中可将团购商品同话术自动上下架。 2. AI剪辑 可一键智能批量成片,也可跟着模板剪…

「PyMuPDF 专栏 」PyMuPDF创建PDF、拆分PDF

文章目录 一、本章前言二、使用PyMuPDF创建PDF文档1、实例代码2、过程详解①. 安装PyMuPDF②. 导入PyMuPDF模块③. 创建一个新的PDF文档④. 添加页面和内容⑤. 保存文档 三、使用PyMuPDF拆分PDF文档1、实例代码2、过程解析①. 导入模块②. 定义函数③. 打开源PDF文件④. 遍历页…

大数据Doris(五十二):SQL函数之数学函数

文章目录 SQL函数之数学函数 一、abs(double a)

基于Java SSM框架实现班级同学录管理系统项目【项目源码】

基于java的SSM框架实现高校校园点餐系统演示 SSM框架 当今流行的“SSM组合框架”是Spring SpringMVC MyBatis的缩写,受到很多的追捧,“组合SSM框架”是强强联手、各司其职、协调互补的团队精神。web项目的框架,通常更简单的数据源。Spring…

洁净室气流流型可视化验证试验 气流流型检测仪

了解和掌握洁净室气流流型的特点和规律是确保洁净室的性能和产品质量的重要基础。在选择气流流型时需要综合考虑各种因素,以达到最佳的空气净化效果。同时,需要定期进行气流流型的检测和验证,以及洁净室的清洁和维护工作,以确保其…

php 常量与变量

目录 1.php 基础语法 2.常量 3.变量 4.变量命名规则 5.单引号双引号的区别 1.php 基础语法 <?php header("Content-Type: text/html; charsetutf-8"); //utf-8编码&#xff0c;支持中文 //代码处 ?> 如果没配utf-8 ,中文就会乱码&#xff0c;如下 2.常量…

自动驾驶轨迹预测

目录 神经网络轨迹预测综述&#xff1a; 比较新的轨迹预测网络 Uber&#xff1a;LaneRCNN[5] Google&#xff1a;VectorNet[6] Huawei&#xff1a;HOME[7] Waymo&#xff1a;TNT[8] Aptive&#xff1a;Covernet[9] NEC&#xff1a;R2P2[10] 商汤&#xff1a;TPNet[11]…

浅谈安科瑞直流表在孟加拉某能源公司的应用

摘要&#xff1a;本文介绍了安科瑞直流电表在孟加拉某能源公司的应用。主要用于光伏直流柜内&#xff0c;配合分流器对汇流箱的输出电流电压等进行测量&#xff0c;并采集配电现场的开关信号&#xff0c;装置带有RS485接口可以把测量和采集的数据和设备状态上传。 Abstract: T…

【服务器数据恢复】Raid5热备盘同步失败导致lvm结构损坏的数据恢复案例

服务器数据恢复环境&#xff1a; 两组由4块磁盘组建的raid5磁盘阵列&#xff0c;两组raid5阵列划分为lun并组成了lvm结构&#xff0c;ext3文件系统。 服务器故障&#xff1a; 一组raid5阵列中的一块硬盘离线&#xff0c;热备盘自动上线并开始同步数据。在热备盘完成同步之前&am…

精进单元测试技能——Pytest断言的艺术

本篇文章主要是阐述Pytest在断言方面的应用。让大家能够了解和掌握Pytest针对断言设计了多种功能以适应在不同测试场景上使用。 了解断言的基础 在Pytest中&#xff0c;断言是通过 assert 语句来实现的。简单的断言通常用于验证预期值和实际值是否相等&#xff0c;例如&#xf…

Python从入门到网络爬虫(读写Excel详解)

前言 Python操作Excel的模块有很多&#xff0c;并且各有优劣&#xff0c;不同模块支持的操作和文件类型也有不同。最常用的Excel处理库有xlrd、xlwt、xlutils、xlwings、openpyxl、pandas&#xff0c;下面是各个模块的支持情况&#xff1a; 工具名称.xls.xlsx获取文件内容写入…

java常用应用程序编程接口(API)——String概述及使用案例

前言&#xff1a; 开始学到api的String&#xff0c;整理下心得。打好基础&#xff0c;daydayup! API&#xff1a; API是什么&#xff1f; API&#xff08;Application Programming Interface&#xff09;又名应用程序编程接口。是别人编好的程序的合集。 为什么要使用API&…

5分钟搭建开源运维监控工具Uptime Kuma并实现无公网IP远程访问

文章目录 **主要功能**一、前期准备本教程环境为&#xff1a;Centos7&#xff0c;可以跑Docker的系统都可以使用本教程安装。本教程使用Docker部署服务&#xff0c;如何安装Docker详见&#xff1a; 二、Docker部署Uptime Kuma三、实现公网查看网站监控四、使用固定公网地址访问…

数组中元素的插入和查找算法探究

数组的查找 线性查找 概念 线性查找也叫顺序查找&#xff0c;这是最基本的一种查找方法&#xff0c;从给定的值中进行搜索&#xff0c;从一端开始逐一检查每个元素&#xff0c;直到找到所需元素的过程。 元素序列的排列可以有序&#xff0c;也可以无序。 代码实现 public cl…

JVM,Java堆区、新生代、老年代,创建对象的内存分配,分代垃圾收集思想、堆区产生的错误

JVM堆区 堆&#xff08;Heap&#xff09;堆区的组成&#xff1a;新生代老年代堆空间的大小设置创建对象的内存分配堆区的分代垃圾收集思想堆区产生的错误 堆&#xff08;Heap&#xff09; ​ Heap堆区&#xff0c;用于存放对象实例和数组的内存区域 ​ Heap堆区&#xff0c;是…