Kafka笔记
一、Kafka 概述
1.1.定义
- 传统定义:Kafka 是一个分布式的基于发布/订阅模式的消息队列,主要用于大数据实时处理领域。
- 最新定义:Kafka 是一个开源的分布式事件流平台,被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。
1.2.传统消息队列的应用场景
- 缓存/消峰
- 解耦
- 异步通信
1.3.Kafka 基础架构
- Producer:消息生产者,就是向 Kafka broker 发消息的客户端。
- Consumer:消息消费者,向 Kafka broker 取消息的客户端。
- 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。

二、Kafka 命令行操作
2.1.主题命令行操作
2.1.1查看操作主题命令参数
bin/kafka-topics.sh
参数 描述
--bootstrap-server <String: server toconnect to> 连接的 Kafka Broker 主机名和端口号
--topic <String: topic> 操作的 topic 名称
--create 创建主题
--delete 删除主题
--alter 修改主题
--list 查看所有主题
--describe 查看主题详细描述
--partitions <Integer: # of partitions> 设置分区数
--replication-factor <Integer: replication factor> 设置分区副本
--config <String: name=value> 更新系统默认的配置
2.1.2.查看当前服务器中的所有 topic
bin/kafka-topics.sh --bootstrap-server host:9092 --list
2.1.3.创建 first topic
bin/kafka-topics.sh --bootstrap-server host:9092 --create --partitions 1 --replicaton-factor 3 --topic first
2.1.4.查看 first 主题的详情
bin/kafka-topics.sh --bootstrap-server host:9092 --describe --topic first
2.1.5.修改分区数(注意:分区数只能增加,不能减少)
bin/kafka-topics.sh --bootstrap-server host:9092 --alter --topic first --partitions 3
2.1.6.删除 topic
bin/kafka-topics.sh --bootstrap-server host:9092 --delete --topic first
2.2.生产者命令行操作
2.2.1.查看操作命令行参数
bin/kafka-console-producer.sh
| 参数 | 描述 |
| --bootstrap-server <String: server toconnect to> | 连接的 Kafka Broker 主机名称和端口号 |
| --topic <String: topic> | 操作的 topic 名称 |
2.2.2.发送消息
bin/kafka-console-producer.sh --bootstrap-server host:9092 --topic first
2.3.消费者命令行操作
2.3.1.查看操作消费者命令参数
bin/kafka-console-consumer.sh
参数 描述
--bootstrap-server <String: server toconnect to> 连接的 Kafka Broker 主机名称和端口号
--topic <String: topic> 操作的 topic 名称
--from-beginning 从头开始消费
--group <String: consumer group id> 指定消费者组名称
2.3.2.消费消息
(1)消费 first 主题中的数据
bin/kafka-console-consumer.sh --bootstrap-server host:9092 --topic first
(2)把主题中所有的数据都读取出来(包括历史数据)
bin/kafka-console-consumer.sh --bootstrap-server host:9092 --from-beginning --topic first
相关文章:
Kafka笔记
一、Kafka 概述 1.1.定义 传统定义:Kafka 是一个分布式的基于发布/订阅模式的消息队列,主要用于大数据实时处理领域。最新定义:Kafka 是一个开源的分布式事件流平台,被数千家公司用于高性能数据管道、流分析、数据集成和关键任务…...
【1.2】神经网络:神经元与激活函数
✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。 🍎个人主页:Meteors.的博客 💞当前专栏: 神经网络(随缘更新) ✨特色…...
【PythonRS】Pyrsgis库安装+基础函数使用教程
pyrsgis库是一个用于处理地理信息系统(GIS)数据的Python库。它提供了一组功能强大的工具,可以帮助开发人员使用Python语言创建、处理、分析和可视化GIS数据。通过使用pyrsgis库,开发人员可以更轻松地理解和利用地理信息。 pyrsgis库包含了许多常见的GIS操…...
线扫相机DALSA--分频倍频计算公式及原理
分频倍频计算公式及原理 推导原理: 假设编码器脉冲精度为P;同步轮/辊周长为C,Fov为视野,Res为线扫相机分辨率,N代表N倍频编码器,分频为D,倍频为M 线扫项目常规采用N(N 4࿰…...
1818_ChibiOS的计数信号量
全部学习汇总: GreyZhang/g_ChibiOS: I found a new RTOS called ChibiOS and it seems interesting! (github.com) 之前见过计数信号量,也是在FreeRTOS中看到的。也看到过这样的功能在驱动设计中的应用,但是当时没有理解这个使用的方式。 1.…...
企业微信接入芋道SpringBoot项目
背景:使用芋道框架编写了一个数据看板功能需要嵌入到企业微信中,方便各级人员实时观看 接入企业微信的话肯定不能像平常pc端一样先登录再根据权限看页面,不然的话不如直接手机浏览器打开登录账号来得更为方便,所以迎面而来面临两…...
群晖上搭建teamspeak3语音服务器
什么是 TeamSpeak ? TeamSpeak (简称 TS)是一款团队语音通讯工具,但比一般的通讯工具具有更多的功能而且使用方便。它由服务器端程序和客户端程序两部分组成,如果不是想自己架设 TS 服务器,只需下载客户端程…...
Python爬虫(二十四)_selenium案例:执行javascript脚本
本章叫介绍如何使用selenium在浏览器中使用js脚本,更多内容请参考:Python学习指南 隐藏百度图片 #-*- coding:utf-8 -*- #本篇将模拟执行javascript语句from selenium import webdriver from selenium.webdriver.common.keys import Keysdriver webdri…...
Devops团队
DevOps(Development 和 Operations的缩写)是一种软件开发和运维(IT运营)之间协作和沟通的文化、原则和实践。DevOps团队是专注于实施DevOps原则的团队,旨在促进软件开发和运维之间的紧密协作,以加速软件交付…...
力扣labuladong——一刷day10
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣76. 最小覆盖子串二、力扣567. 字符串的排列三、力扣438. 找到字符串中所有字母异位词四、力扣3. 无重复字符的最长子串 前言 一、力扣76. 最小覆盖子串…...
https下载图片
OpenSSL用法示例 OpenSSL源码安装 对于ubuntu,懒得编译源码可以直接安装 sudo apt-get install libssl–dev /usr/include/openssl/ssl.h CMakeLists中添加 link_libraries(ssl crypto) apt-get安装不需要再制定libssl.a, libcrypto.a的路径了, 就像用libc标…...
二叉树的后续遍历(迭代法)
迭代法实现二叉树的后续遍历 1、递归版本 public static void dfs(TreeNode root){if(rootnull){return;}if(root.left!null)dfs(root.left);if(root.right!null)dfs(root.right);System.out.println(root.val); }从递归版本可以看出我们第一步需要遍历完所有的左节点 这里我…...
CVE-2021-41773/42013 apache路径穿越漏洞
影响范围 CVE-2021-41773 Apache HTTP server 2.4.49 CVE-2021-42013 Apache HTTP server 2.4.49/2.4.50 漏洞原理 Apache HTTP Server 2.4.49版本使用的ap_normalize_path函数在对路径参数进行规范化时会先进行url解码,然后判断是否存在…/的路径穿越符…...
前端性能测试工具WebPagetest
简介:一款web性能在线性能评测工具,可测试有关页面在各种条件下的性能,并且提供深入诊断信息。 WebPagetest 的主页:https://www.webpagetest.org/,也就是工具的使用界面。 注意:WebPageTest 并不是完全免…...
易语言软件定制软件开发脚本开发协议软件电脑网站APP应用视频制作工程制作
随着信息技术的不断发展,易语言软件定制开发已成为许多公司的一项重要业务。本文将探讨如何利用易语言承接软件定制软件开发脚本开发协议软件电脑网站APP应用视频制作工程制作。 一、易语言概述 易语言是一种简单易学的编程语言,它采用中文编程ÿ…...
Windows上配置IP端口转发
在通常涉及到使用网络地址转换(NAT)规则,可以使用一些工具和命令行选项来实现。以下是在Windows上配置端口转发的一般步骤: **注意:端口转发需要管理员权限,因此请确保以管理员身份运行命令行工具。** 1.…...
韦东山D1S板子——汇编启动代码第一行分析(.long 0x0300006f)
1、汇编启动源码 2、分析二进制:0x0300006f 2.1、反汇编代码 2.2、jal指令 jal指令的作用:跳转到当前PC值偏移offset处执行,其中offset由jal指令的bi[31:12]表示; 2.3、分析指令:j 20030 <reset> j 20030 //伪…...
了解单域名证书和通配符证书的区别,选择合适的SSL证书解决方案
随着互联网的不断发展,网站安全性问题一直备受关注,在保护网站数据安全的过程中,SSL证书一直发挥着至关重要的作用。而在选择SSL证书时,单域名证书和通配符证书是两种常见的选择。本文将详细介绍单域名证书和通配符证书的区别&…...
【LeetCode】7. 整数反转
题目链接 文章目录 Python3官方解法 ⟮ O ( ∣ x ∣ ) 、 O ( 1 ) ⟯ \lgroup O(|x|)、O(1)\rgroup ⟮O(∣x∣)、O(1)⟯写法2写法3 C官方解法 ⟮ O ( ∣ x ∣ ) 、 O ( 1 ) ⟯ \lgroup O(|x|)、O(1)\rgroup ⟮O(∣x∣)、O(1)⟯ Python3 官方解法 ⟮ O ( ∣ x ∣ ) 、 O ( 1…...
防止请求重复提交:注解+拦截器的实现方案
文章目录 了解请求重复提交解决思路具体实现 了解请求重复提交 请求重复提交是指用户在一次请求还未处理完成时,重复提交了相同的请求。这种情况通常发生在网络延迟、用户误操作或系统性能不佳等情况下。 请求重复提交可能会导致以下问题和影响: 数据不…...
AgentCPM-Report开源模型教程:Pixel Epic在科研团队中的协作部署实践
AgentCPM-Report开源模型教程:Pixel Epic在科研团队中的协作部署实践 1. 项目介绍与核心价值 Pixel Epic是一款基于AgentCPM-Report大模型构建的创新型研究报告辅助工具。它将枯燥的科研工作流程转化为充满游戏化体验的交互过程,让团队成员在轻松愉悦的…...
解放双手!U校园智能刷课工具全攻略:2分钟搞定网课必修题
解放双手!U校园智能刷课工具全攻略:2分钟搞定网课必修题 【免费下载链接】AutoUnipus U校园脚本,支持全自动答题,百分百正确 2024最新版 项目地址: https://gitcode.com/gh_mirrors/au/AutoUnipus 还在为U校园平台上堆积如山的网课任务而头疼吗&a…...
【V2X】高通平台EMMC复位机制
错误类型 检测函数 返回值 恢复动作 是否会继续升级到 reset/power-cycle 命令 CRC / End Bit / Index 错误 sdhci_cmd_irq() -EILSEQ 结束当前 request;sdhci_needs_reset() 置位后执行 sdhci_do_reset(SDHCI_RESET_CMD/DATA);mmc_request_done() 标记 mmc_retune_needed();…...
如何高效管理空洞骑士模组:5个专业技巧的完整指南
如何高效管理空洞骑士模组:5个专业技巧的完整指南 【免费下载链接】Lumafly A cross platform mod manager for Hollow Knight written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/lu/Lumafly 还在为空洞骑士模组安装的复杂流程而烦恼吗&#…...
猫抓浏览器资源嗅探扩展:专业配置与高效下载指南
猫抓浏览器资源嗅探扩展:专业配置与高效下载指南 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓(cat-catch࿰…...
三月七小助手:5分钟搞定星穹铁道每日任务,终极自动化工具完全指南
三月七小助手:5分钟搞定星穹铁道每日任务,终极自动化工具完全指南 【免费下载链接】March7thAssistant 崩坏:星穹铁道全自动 三月七小助手 项目地址: https://gitcode.com/gh_mirrors/ma/March7thAssistant 你是否还在为《崩坏&#x…...
MobaXterm中文版:5步教你掌握Windows最强远程管理神器
MobaXterm中文版:5步教你掌握Windows最强远程管理神器 【免费下载链接】Mobaxterm-Chinese Mobaxterm simplified Chinese version. Mobaxterm 的简体中文版. 项目地址: https://gitcode.com/gh_mirrors/mo/Mobaxterm-Chinese 还在为远程服务器管理烦恼吗&am…...
AI-Youtube-Shorts-Generator完全指南:从安装到批量处理
AI-Youtube-Shorts-Generator完全指南:从安装到批量处理 【免费下载链接】AI-Youtube-Shorts-Generator A python tool that uses GPT-4, FFmpeg, and OpenCV to automatically analyze videos, extract the most interesting sections, and crop them for an impro…...
从湖科大计网笔记出发,聊聊我当年学网络时踩过的那些坑(附避坑指南)
从湖科大计网笔记出发:一位工程师的避坑实战指南 1. 那些年我掉进的TCP/IP陷阱 第一次接触TCP三次握手时,我天真地以为这就像打电话的"喂-喂-好"那么简单。直到期末考试时被问到"为什么不能两次握手?",我才意…...
解决vue-quill-editor保存后莫名多空行问题(附实测有效CSS方案)
彻底解决vue-quill-editor保存后空行异常问题:从原理到实战 最近在Vue项目中使用vue-quill-editor时,发现一个令人头疼的问题:每次保存后重新打开编辑器,内容之间总会莫名其妙地多出空行。特别是当使用标题样式(h1-h6…...
