04、Kafka ------ 各个功能的作用解释(Cluster、集群、Broker、位移主题、复制因子、领导者副本、主题)

news2024/11/13 15:01:02

目录

  • 启动命令:
  • CMAK的用法
    • ★ 在CMAK中添加 Cluster
    • ★ 在CMAK中查看指定集群
    • ★ 在CMAK中查看 Broker
    • ★ 位移主题
    • ★ 复制因子
    • ★ 领导者副本和追随者副本
    • ★ 查看主题

启动命令:

1、启动 zookeeper 服务器端
小黑窗输入命令: zkServer

2、启动 zookeeper 的命令行客户端工具

小黑窗输入命令:zkCli -server 127.0.0.1:2181

3、启动 Kafka 服务器:

第1个kafka服务器,也就是第1个节点:端口9092

kafka-server-start E:/install/kafka_2.13-3.6.1/config/server.properties

第2个kafka服务器,也就是第2个节点:端口9093

kafka-server-start E:/install/kafka_2.13-3.6.1/config/server-1.properties

第3个kafka服务器,也就是第3个节点:端口9094

kafka-server-start E:/install/kafka_2.13-3.6.1/config/server-2.properties

4、打开小黑窗,运行如下命令来启动CMAK:

E:/cmak/bin/cmak.bat

5、打开CMAK图形界面

http://localhost:9000/



CMAK的用法

如图,安装完,小黑窗输入 E:\cmak\bin\cmak.bat 命令启动这个cmak之后,发现什么都没有。

http://localhost:9000/

在这里插入图片描述
接下来,演示通过cmak来管理Kafka



★ 在CMAK中添加 Cluster

启动cmak.bat命令后,使用浏览器访问“http://localhost:9000/”即可进入CMAK管理界面

单击管理页面上方的“Cluster”下拉菜单展开的“Add Cluster”菜单项,即可打开添加Cluster的界面。

Kafka 使用 ZooKeerper 管理集群,因此添加集群的关键就是在Cluster ZooKeeper Hosts中输入ZooKeeper的主机地址和端口。

集群名和Kafka版本并不关键

点击这里添加kafka集群:
在这里插入图片描述

输入这三个信息即可。点击save保存即可,然后再去查看创建出来的集群

在这里插入图片描述



★ 在CMAK中查看指定集群

查看集群可看到如下信息:

- ZooKeeper的地址和Kafka版本
- 集群包含多少个主题和多少个Broker(节点)

▲ Kafka 的 topic 和 JMS 的 topic 是完全不同的,Kafka 的 topic 是消息的逻辑容器。
——换而言之,Kafka 的 topic 是用来装消息的。

在这里插入图片描述



★ 在CMAK中查看 Broker

通过页面上方的“Brokers”链接,即可进入Broker列表页面。
通过Broker列表页面中任一Broker的id链接,即可查看该Broker的详细信息,可看到该Broker的
- ID
- 主题数
- 分区数
- 领导者分区数

该主题的复制因子为1,这意味着每个分区仅有一个副本,因此该副本只能是领导者分区,只不过它没有追随者分区。

在这里插入图片描述
点击broker的id进入这里:

在这里插入图片描述

启动这个kafka节点,对应的就是这个brokers

在这里插入图片描述



主题的详细信息:
这个是kafka内部自己建立的主题,叫位移主题

在这里插入图片描述

点开每个kafka节点,加起来一共有50个分区。
在这里插入图片描述



★ 位移主题

Kafka默认就有一个名为“__consumer_offsets”的主题,该主题是Kafka自动创建的内部主题:位移主题。

它用于保存Kafka内部的位移信息,一般不建议手动管理它,让系统自己管理它是最好的。

位移主题的消息格式也是Kafka自定义的,用户不能修改。

开发者不应该向位移主题写入消息,否则一旦写入的消息格式不满足Kafka的定义,那就会导致Broker崩溃。

加深理解:

比如rocketmq、rabbitmq这些消息中间件,它们的消息是放在消息队列里面的,如果消息被消费完后,该消息就会被移除该消息队列。

而 Kafka 是一个数据流平台,kafka 是把消息存放在分区(或者说主题,主题包含分区)里面的,当消息被消费完,该消息也不会被移除掉。

因为消费完的消息没有被移除掉,所以就需要这个内部主题–>【位移主题】这个机制来记录我们消息已经消费到哪个位置了。它存储kafka内部相关的位移信息。

在这里插入图片描述

这个位移主题不需要我们做任何操作。了解就好。

在这里插入图片描述



★ 复制因子

——控制主题内分区副本的数量。

主题由多个分区组成。

复制因子控制主题内各分区的副本的数量,复制因子为1,表明每个分区的副本数量为1——也就是所有分区仅有1个副本。

复制因子必须大于或等于1,这意味着每个分区至少要有一个副本。

Kafka的副本机制(也可称为备份机制)仅提供数据冗余功能。

在这里插入图片描述



★ 领导者副本和追随者副本

比如将某个主题的复制因子设为3,那意味着该主题内每个分区都有3个副本,

这3个副本中有1个是“领导者(leader)副本”,该领导者副本负责与客户端交互(接受客户端读、写操作),

另外2个是“追随者(follower)副本”,追随者副本完全不能与客户端交互,
追随者副本仅仅只是作为“领导者副本”的后备(自动与领导者副本的数据保持同步、但会有一定的滞后性)。

领导者副本与追随者副本并不位于同一个Broker上,当“领导者副本”挂掉之后, Kafka会从追随者副本中重新选一个(专业术语叫选举:elect)作为新的“领导者副本”。

若将某个主题的复制因子设为1,那意味着该主题内每个分区只有1个副本,该分区副本也就是领导者副本。

就像是公司的技术部,只有我一个人,那么部门领导者是我,追随者也是我。

=======================

领导者分区有几个追随者分区,取决于我们设置的复制因子有多少,如果复制因子是3,那么就意味着每个领导者分区 2个 追随者分区。

复制因子是3 ,就表明有3个分区,其中1个是领导者分区,2个是追随者分区。



★ 查看主题

Kafka会将主题内的分区“分摊”到不同 broker 节点上,从而让不同节点能并行地向客户端提供服务
——这是Kafka性能优秀的关键。

查看主题可看到如下信息:

  • 包含多少分区

  • 分区分布在几个Broker上

  • 分布率多少:从提升性能角度来看,肯定是分布率越高越好,分布率越好就意味着更多的节点可以一起为该主题对外提供服务。

  • 单击“Add Partition”可添加分区

  • 单击“Generate Partition Assignments” 和 “Run Partition Assignments”按钮可对分区进行重新分布。

加深理解:
一个程序从一个主题获取消息,这个主题只是一个逻辑的东西,这个主题下面还有50个分区,这些分区假如分布到10个broker节点里面去,那么我们从这个主题获取消息的时候,Kafka 内部会用负载均衡的方式依次自动的从这10个节点里面去提取消息给我们访问。

Kafka的 broker 节点是可以无限增加的,这种机制可以很方便的扩充kafka 容量。

如果分区访问速度慢了,性能降低的话,也可以修改分区的数量

分区跟主题是很重要的一个概念,它们对kafka的性能有关键性的影响。
在这里插入图片描述

可以修改分区之类的配置。

在这里插入图片描述

这个是kafka集群信息:
在这里插入图片描述

这个是主题信息:
在这里插入图片描述

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

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

相关文章

市场复盘总结 20240108

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整,采用龙空龙模式 今日空仓 最常用的二种方法: 方法一:指标选股找强势股 select * from dbo.ResultAll where 入选类型 like %指标选股% and 入选日期=20240108;方法二…

【Flet教程】使用Flet以Python创建TODO应用程序

Flet是基于Python实现的Flutter图形界面GUI。除了使用Python,具备美观、简洁、易用,还有Flutter本身的跨平台(安卓、iOS、Win、Mac、Web)、高性能、有后盾的特点。下面是0.18版官方TODO APP教程,为了准确,保…

CentOS 多节点一键免密登录

文章目录 一、场景说明二、脚本职责三、参数说明四、操作示例五、注意事项 一、场景说明 本自动化脚本旨在为提高研发、测试、运维快速部署应用环境而编写。 脚本遵循拿来即用的原则快速完成 CentOS 系统各应用环境部署工作。 统一研发、测试、生产环境的部署模式、部署结构、…

5 - 视图|存储过程

视图|存储过程 视图视图基本使用使用视图视图进阶 存储过程创建存储过程存储过程进阶存储过程参数循环结构 视图 视图是虚拟存在的表 表头下的数据在真表里 表头下的数据存储在创建视图时 在select命令访问的真表里 优点: 安全数据独立简单 用户无需关…

部署一款开源的交互审计系统—Next Terminal

博客地址 部署一款开源的交互审计系统—Next Terminal-雪饼 (xue6ing.cn)https://xue6ing.cn/archives/bu-shu-yi-kuan-kai-yuan-de-jiao-hu-shen-ji-xi-tong--next-terminal Next Terminal是什么? Next Terminal是一个开源的交互审计系统,具有以下主…

76.乐理基础-打拍子-二连音、四连音

内容来源于:三分钟音乐社 上一个内容:八三、八六拍的三角形打法-CSDN博客 这里要先理解了三连音的知识。 关于多少连音的总方针,其实就是两句话,如下图中的内容:二连音与四连音实际上就是下图中第二句话里的第一部分…

Stable Diffusion初体验

体验了下 Stable Diffusion 2.0 的图片生成,效果还是挺惊艳的,没有细调prompt输入,直接输入了下面的内容: generate a Elimination Game image of burnning tree, Cyberpunk style 然后点击生成,经过了10多秒的等待就输…

Python自动化办公之PDF拆分

今天我们继续分享真实的自动化办公案例,希望各位 Python 爱好者能够从中得到些许启发,在自己的工作生活中更多的应用 Python,使得工作事半功倍! 需求 需要从 PDF 中取出几页并将其保存为新的 PDF,为了后期使用方便&a…

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

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

腾讯云免费服务器申请1个月攻略,亲测可行教程

腾讯云免费服务器申请入口 https://curl.qcloud.com/FJhqoVDP 免费服务器可选轻量应用服务器和云服务器CVM,轻量配置可选2核2G3M、2核8G7M和4核8G12M,CVM云服务器可选2核2G3M和2核4G3M配置,腾讯云服务器网txyfwq.com分享2024年最新腾讯云免费…

基于动物迁徙算法优化的Elman神经网络数据预测 - 附代码

基于动物迁徙算法优化的Elman神经网络数据预测 - 附代码 文章目录 基于动物迁徙算法优化的Elman神经网络数据预测 - 附代码1.Elman 神经网络结构2.Elman 神经用络学习过程3.电力负荷预测概述3.1 模型建立 4.基于动物迁徙优化的Elman网络5.测试结果6.参考文献7.Matlab代码 摘要&…

软件测试|深入理解SQL CROSS JOIN:交叉连接

简介 在SQL查询中,CROSS JOIN是一种用于从两个或多个表中获取所有可能组合的连接方式。它不依赖于任何关联条件,而是返回两个表中的每一行与另一个表中的每一行的所有组合。CROSS JOIN可以用于生成笛卡尔积,它在某些情况下非常有用&#xff…

内网穿透的应用-使用Net2FTP轻松部署本地Web网站并公网访问管理内网资源

文章目录 1.前言2. Net2FTP网站搭建2.1. Net2FTP下载和安装2.2. Net2FTP网页测试 3. cpolar内网穿透3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1.前言 文件传输可以说是互联网最主要的应用之一,特别是智能设备的大面积使用,无论是个人…

New!2024最新ChatGPT提示词开源项目:GPT Prompts Hub - 专注于深化对话质量和探索更复杂的对话结构

🌟 GPT Prompts Hub 🌟 欢迎来到 “GPT Prompts Hub” 存储库!探索并分享高质量的 ChatGPT 提示词。培养创新性内容,提升对话体验,激发创造力。我们极力鼓励贡献独特的提示词。 在 “GPT Prompts Hub” 项目中&#…

勒索病毒威胁揭秘:.faust勒索病毒如何威胁你的数据安全

导言: 随着网络犯罪的不断演变,.360勒索病毒作为一种恶意软件威胁,给用户的数据安全带来了严重的挑战。本文91数据恢复将深入介绍.360勒索病毒的特征、如何恢复被其加密的数据文件的方法,并提供一系列预防措施,以降低…

46 WAF绕过-信息收集之反爬虫延时代理池技术

目录 简要本章具体内容和安排缘由简要本课具体内容和讲课思路简要本课简要知识点和具体说明演示案例:Safedog-默认拦截机制分析绕过-未开CCSafedog-默认拦截机制分析绕过-开启CC总结: Aliyun_os-默认拦截机制分析绕过-简要界面BT(防火墙插件)-默认拦截机制分析绕过-…

java.lang.NoSuchFieldError: No static field xxx of type I in class

问题描述 将Library编译成 aar导入到另一个项目中依赖成功,编译成功,运行打开发生了崩溃异常如下图: 原因分析: 异常错误提示找不到id为recycler_1的控件了,我的Library中recycler_1控件是在MainActivity的xml中使用的&#xff0c…

一文搞定JMM核心原理

公众号《鲁大猿》,寻精品资料,帮你构建Java全栈知识体系 www.jiagoujishu.cn (架构技术.cn) JMM引入 从堆栈说起 JVM内部使用的Java内存模型在线程栈和堆之间划分内存。 此图从逻辑角度说明了Java内存模型: # 堆栈里…

鸿蒙开发解决agconnect sdk not initialized. please call initialize()

文章目录 项目场景:问题描述原因分析:解决方案:总结:项目场景: 鸿蒙开发报错: agconnect sdk not initialized. please call initialize() 问题描述 报错内容为: 10-25 11:41:01.152 6076-16676 E A0c0d0/JSApp: app Log: 数据查询失败: {“code”:1100001,“messag…

ArcGIS小技巧|四种计算图斑面积的方法

ArcGIS中有多种方法可计算出图斑面积,本文总结了四种方法,是否可堪称史上最全? 1、计算几何 这是最适合非专业人士的方法,直接利用ArcGIS中的计算几何功能进行计算。 a、首先添加一double类型字段,用来存储面积数值…