【Kafka】Kafka基础操作笔记

news2024/12/23 19:09:36

【Kafka】Kafka基础操作笔记

文章目录

  • 【Kafka】Kafka基础操作笔记
    • 1. 两种模式
      • 1.1 点对点模式
      • 1.2 发布/订阅模式
    • 2. 基础架构
    • 3. Topic命令行操作
      • 3.1 查看 Topic 操作
      • 3.2 创建 Topic
      • 3.3 查看所有 Topic
      • 3.4 查看 Topic 的详情
      • 3.5 修改分区数
      • 3.6 删除 Topic

1. 两种模式

Kafka作为消息队列,有两种模式:

  1. 点对点模式
  2. 发布/订阅模式

1.1 点对点模式

特点:

  • 消费者主动拉取数据,消息收到后清除消息

image-20230705110531581


1.2 发布/订阅模式

  • 可以有多个topic主题(浏览、点赞、收藏、评论等)
  • 消费者消费数据之后,不删除数据
  • 每个消费者相互独立,都可以消费到数据

image-20230705110722828


2. 基础架构

Kafka的基础架构:

  1. 为方便扩展,并提高吞吐量,一个topic分为多个partition(分区)
  2. 配合分区的设计,提出消费者组的概念,组内每个消费者并行消费,一个分区只能由一个组内消费者消费,避免重复消费
  3. 为提高可用性,为每个partition增加若干副本
  4. Zookeeper中记录谁是leader,Kafka2.8.0以后也可以配置不采用ZK

image-20230705111049119

  • Consumer Group(CG):消费者组,由多个consumer组成。消费者组内每个消费者负责消费不同分区的数据,为避免详消息的重复消费,一个分区只能由一个组内消费者消费;消费者组之间互不影响。所有消费者都属于某个消费者组,即消费者组是逻辑上的一个订阅者。
  • Broker:一台Kafka服务器就是一个broker。一个集群由多个broker组成。一个broker可以容纳多个topic。
  • Topic:可以理解为一个队列,生产者和消费者面向的都是一个topic
  • Partition:为了实现扩展性,一个非常大的 topic 可以分布到多个 broker (即服务器上),一个topic可以分为多个 partition,每个 partition 是一个有序的队列
  • Replica:副本。一个 topic 的每个分区都有若干个副本,一个 Leader 和若干个 Follower。
  • Leader:每个分区多个副本的“主”,生产者发送数据的对象,以及消费者消费数据的对象都是 Leader。
  • Follower:每个分区多个副本中的“从”,实时从 Leader 中同步数据,保持和 Leader 数据的同步。Leader 发生故障时,某个 Follower 会成为新的 Leader。

3. Topic命令行操作

3.1 查看 Topic 操作

①查看操作Topic命令参数

#在kafka的目录下
bin/kafka-topics.sh

输入该命令行后,控制台列出所有的参数及含义:

image-20230705232832770

总结如下:

image-20230705232404846


3.2 创建 Topic

②创建一个名为first的topic,要求分区数为1,集群有3个节点,所以分区副本设置为3

bin/kafka-topics.sh --bootstrap-server node1:9092 --create --partitions 1 --replication-factor 3 --topic first

3.3 查看所有 Topic

③查看当前服务器中所有的topic

bin/kafka-topics.sh --bootstrap-server node1:9092 --list

3.4 查看 Topic 的详情

④查看 first 主题的详情

bin/kafka-topics.sh --bootstrap-server node1:9092 --describe --topic first

image-20230705233257193

  • Replicas:1,2,0 表示副本分别存在三个节点中
  • Leader:1 表示Leader副本存储在代号为1的节点中,其余两个存的是Follower副本
  • Isr:1,2,0 表示同步副本,follower副本同步leader副本的数据,ISR是Kafka中用于保证数据一致性和可靠性的副本集合

3.5 修改分区数

⑤注意:分区数只能增加不能减少

bin/kafka-topics.sh --bootstrap-server node1:9092 --alter --partitions 3 --topic first

修改之后再次查看 first 主题的详情:

image-20230705233811497


3.6 删除 Topic

⑥删除 first 主题

bin/kafka-topics.sh --bootstrap-server node1:9092 --delete --topic first

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

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

相关文章

Linux设备驱动基础04:Linux设备驱动中的互斥与同步(部分)

1 并发与竞态 1.1 竞态概念 1. 并发(Concurrency)是指多个执行单元在同一时间段内执行(但并不一定在同一时刻),而并发的执行单元对共享资源(包括硬件资源和软件资源)的访问就会导致竞态&#…

期货程序化交易软件文华财经和无限易那个成交速度快?自编软件能不能接CTP通道?

期货程序化交易软件是指可以根据预设的策略和条件,自动执行买卖指令的软件。期货程序化交易软件有很多种,不同的软件有不同的特点和优劣,选择哪一种要根据自己的需求和偏好。 期货程序化交易是指将交易思路用编程语言编写成计算机可以执行的指…

Zabbix 6.0 介绍及部署

目录 一、Zabbix 6.0 介绍1. 简介2. **利用一个优秀的监控软件带来的好处**3. **zabbix 6.0 的功能组件**4.zabbix 监控原理 二、Zabbix 6.0 部署 一、Zabbix 6.0 介绍 1. 简介 Zabbix 是由 Alexei Vladishev 创建,目前是由 Zabbix SIA 在持续开发和提供支持。zab…

2023秋招,软件测试面试八股文(有答案版),金九银十季,涨薪涨薪

最近呢有很多的小伙伴问我有没有什么软件测试的面试题,由于笔者之前一直在忙工作上的事情,没有时间整理面试题,刚好最近休息了一下,顺便整理了一些面试题,现在就把整理的面试题分享给大家,希望可以帮助到各…

途乐证券|指数反弹上行周期仍未结束 建议继续做多

股票的开盘价通常可以表示商场的情绪,一起还能影响投资者进行决策。那么股票低开好仍是高开好?股票低开高走再回落是什么意思?下面为我们预备了相关内容,以供参考。 股票低开好仍是高开好? 股票高开比较好。股票高开阐…

kali安装安全漏洞扫描工具Snyk

进kali,sudo su进入root用户 apt install npm 下载npm sudo npm install -g snyk 安装snyk snyk auth进行授权,会自动跳转到一个网页,我选的是github授权。 如果github上不去的话,物理机上面科学上网开个全局就行了,…

WWW(URL,HTTP,HTML)

1.WWW 万维网(World Wide Web,WWW),是一个规模巨大、可以互联的资料空间。该资料空间的资源依靠URL进行定位,通过HTTP协议传送给使用者,又由HTML来进行文档的展现。由定义可以知道WWW的核心由三个主要标准构成:URL、HTTP、HTML。(…

软件设计模式与体系结构-设计模式-行为型软件设计模式-访问者模式

目录 二、访问者模式概念代码类图实例一:名牌运动鞋专卖店销售软件实例二:计算机部件销售软优缺点适用场合课程作业 二、访问者模式 概念 对于系统中的某些对象,它们存储在同一个集合中,具有不同的类型对于该集合中的对象&#…

力扣算法练习(三)

目录 1. N 字形变换(6) 题解一(力扣官方解析力扣) 题解二(官方解法) 题解三(力扣) 2. 整数反转(7) 题解一 题解二 题解三(官方解析&#…

车辆在刹车不及时导致与行人发生碰撞事故,产生出险记录

车辆在刹车不及时导致与行人发生碰撞事故,是一种常见的交通事故。当发生此类事故时,车主需要及时处理保险理赔事宜,同时也需要了解车辆出险、理赔、事故记录情况,以便更好地维护车辆和自身权益。为方便车主查询车辆出险、理赔、事…

UI自动化测试工具能够做的几件事情

UI自动化测试工具在软件开发过程中发挥着重要的作用。它们可以帮助测试人员自动执行各种用户界面操作,验证界面功能和性能,提高测试效率和质量。本文将介绍UI自动化测试工具能够做的几件事情,并解释为什么它们对测试人员来说非常有价值。 首先…

UE5 plugin failed to load because module could not be found

解决方法:将提示缺少的插件加入到.uproject中即可解决

Liunx系统编程:系统层面上的文件IO接口

目录 一. 如何在系统层面上理解文件 二. 语言层面上的文件IO函数 三. Linux操作系统提供的IO接口 3.1 open接口 -- 打开文件 3.2 close接口 -- 关闭文件 3.3 write接口 -- 向文件中写内容 3.4 read接口 -- 从文件中读取内容 四. 总结 一. 如何在系统层面上理解文件 在L…

axios文件上传和 Content-Type类型介绍

Content-Type的作用是什么? Content-Type: 用于在请求头部指定资源的类型和字符编码。 请求头中的content-type,就是 B端发给S端的数据类型描述 。 即告诉服务器端,我给你传的数据是某种类型的。 服务器端针对不同类型的数据,做法…

分布式监控Zabbix的部署

zabbix 6.0 一、zabbinxzabbix的简介Zabbix 6.0 功能组件zabbix的监控原理zabbix 6.0的特性 二、zabbix 6.0 部署部署 Nginx PHP 环境并测试部署数据库,要求 MySQL 5.7 或 Mariadb 10.5 及以上版本编译安装 zabbix Server 服务端部署 Web 前端,进行访问…

HTTP的一些概念

文章目录 HTTP定义URI&URL HTTP 常见的状态码http 首部请求首部字段响应首部字段为cookie服务的首部字段get请求和post请求及区别GET 和 POST 方法是否安全和幂等 HTTP特性HTTP(1.1) 的优点有哪些HTTP/1.1 的缺点HTTP/1.1 的性能HTTP/1.1 相比 HTTP/…

[MySQL]表的操作

[MySQL]表的操作 文章目录 [MySQL]表的操作1. 创建表2. 创建表的示例3. 查看表4. 修改表5. 删除表6. 关于表操作 1. 创建表 语法: CREATE TABLE [IF NOT EXISTS] table_name(field1 datatype1 [COMMENT 注释信息],field2 datatype2 [COMMENT 注释信息],field3 dat…

伦敦金实时报价技术分析

技术分析是从伦敦金的价格行为,来分析未来走势变化的方法。伦敦金市场的变化可以有多种表现形式,其中根据市场价格、成交量等的变化,可以探索出一些规律,技术分析者通过对市场过去和现在的行为,应用数学原理去理解价格…

【Python】基于Python的机器学习分类的模型选择:交叉验证和模型质量评估

目录 1 简介2 思路分解与说明3 完整代码 1 简介 最近完成一个工作,就基于一些表格化的数据进行机器学习分类。 由于分类是研究中的关键步骤,所以首先要选择到底哪个模型适合我们的分类任务。 比较传统且经典的选择方法就是用交叉验证。 交叉验证是什么可…

openwrt使用记录

背景: 平时在vmware中做实验时候,经常需要在不同的机器上下载一些github上的项目进行调试,之前解决方案是在路由器层小米ac2100上装openwrt,试用一番发现太卡了。放弃,这次在vmware中安装作为小米ac2100的旁路由 规划…