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

目录

  • 启动命令:
  • 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内部自己建立的主题,叫位移主题

在这里插入图片描述

点开每个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个副本,该分区副本也就是领导者副本。

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



★ 查看主题

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

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

  • 包含多少分区

  • 分区分布在几个Broker上

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

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

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

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

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

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

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

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

在这里插入图片描述

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

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

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

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

相关文章

Python基础知识总结2——python中的字符串

python字符串 字符串基本特点空字符串和len()函数转义字符字符串拼接字符串复制不换行打印从控制台读取字符串replace() 实现字符串替换str()实现数字转型字符串使用[]提取字符字符串切片slice操作split()分割和join()合并字符串驻留机制和字符串比较字符串比较和同一性成员操作…

Redis:原理速成+项目实战——初识Redis、Redis的安装及启动、Redis客户端

👨‍🎓作者简介:一位大四、研0学生,正在努力准备大四暑假的实习 🌌上期文章:首期文章 📚订阅专栏:Redis速成 希望文章对你们有所帮助 在此之前,我做过的项目里面也用到了…

Spring Boot依赖版本声明

链接 官网 Spring Boot文档官网:​​​​​​https://docs.spring.io/spring-boot/docs/https://docs.spring.io/spring-boot/docs/ Spring Boot 2.0.7.RELEASE Spring Boot 2.0.7.RELEASE reference相关:https://docs.spring.io/spring-boot/docs/2.…

排序算法——关于快速排序的详解

目录 1.基本思想 2.基本原理 2.1划分思想 2.2排序过程 (1)选择基准值 (2)分割过程(Partition) (3)递归排序 (4)合并过程 2.3具体实例 2.4实现代码 2.5关键要…

从细菌基因组中提取噬菌体变异序列工具PhaseFinder的介绍、安装和使用方法

PhaseFinder ## 概览,不翻译了,大家自己看吧 The PhaseFinder algorithm is designed to detect DNA inversion mediated phase variation in bacterial genomes using genomic or metagenomic sequencing data. It works by identifying regions flank…

windows通过ssh连接Liunx服务器并实现上传下载文件

连接ssh 输入:ssh空格用户名ip地址,然后按Enter 有可能出现下图提示,输入yes 回车即可 输入 password ,注意密码是不显示的,输入完,再按回车就行了 以上是端口默认22情况下ssh连接,有些公司它…

Docker一键极速安装Nacos,并配置数据库!

1 部署方式 1.1 DockerHub javaedgeJavaEdgedeMac-mini ~ % docker run --name nacos \ -e MODEstandalone \ -e JVM_XMS128m \ -e JVM_XMX128m \ -e JVM_XMN64m \ -e JVM_MS64m \ -e JVM_MMS64m \ -p 8848:8848 \ -d nacos/nacos-server:v2.2.3 a624c64a1a25ad2d15908a67316d…

虚拟机快照

1.为什么使用快照 在学习阶段我们无法避免的可能损坏Linux操作系统。 如果损坏的话,重新安装一个Linux操作系统就会十分麻烦。 VMware虚拟机(Workstation和Funsion)支持为虚拟机制作快照。 通过快照将当前虚拟机的状态保存下来,在…

集合-及其各种特征详解

集合 概念:是提供一种存储空间 可变 的存储模型,存储的数据容量可以发生改变。(也就是集合容量不固定) 集合关系图 绿色的代表接口,蓝色的代表接口的实现类 单列集合 Collection(接口) 概述:单列集合的…

OpenCV-16图像的基本变换

一、图像的放大与缩小 1. 对小狗图片进行缩放 使用API----resize(src, dsize, [,dst,[fx[,fy[,interpolation]]]]) src:要缩放的图像。 dsize:缩放之后的图像大小,元组和列表表示都可以。 dst:可选参数…

通过使用别名让 SQL 更简短-数据库教程shulanxt.com-帆软软件有限公司

MySQL视频教程导航 https://www.shulanxt.com/database/mysqlvideo/p1 SQL 别名 SQL 别名 通过使用 SQL,可以为表名称或列名称指定别名。 基本上,创建别名是为了让列名称的可读性更强。 列的 SQL 别名语法 SELECT column_name AS alias_name FROM …

计算机基础面试题 |12.精选计算机基础面试题

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…