kafka初体验基础认知部署

kafka 基础介绍

Apache Kafka是一个分布式流处理平台,最初由LinkedIn开发并于2011年开源。它主要用于解决大规模数据的实时流式处理和数据管道问题。
Kafka是一个分布式的发布-订阅消息系统,可以快速地处理高吞吐量的数据流,并将数据实时地分发到多个消费者中。Kafk消息系统由多个**broker(服务器)组成,这些broker可以在多个数据中心之间分布式部署,以提供高可用性和容错性。Kafka的基本架构由生产者、消费者和主题(topic)**组成。生产者可以将数据发布到指定的主题,而消费者可以订阅这些主题并消费其中的数据。同时,Kafka还支持数据流的处理和转换,可以在管道中通过Kafka Streams API进行流式计算,例如过滤、转换、聚合等。Kafka使用高效的数据存储和管理技术,能够轻松地处理TB级别的数据量。其优点包括高吞吐量、低延迟、可扩展性、持久性和容错性等。
Kafka在企业级应用中被广泛应用,包括实时流处理、日志聚合、监控和数据分析等方面。同时,Kafka还可以与其他大数据工具集成,如Hadoop、Spark和Storm等,构建一个完整的数据处理生态系统

如何部署一个单机的kafka

安装jdk

下载zookeeper

下载kafka

kafka自带的脚本

[root@localhost kafka_2.13-3.5.1]# ls bin/
connect-distributed.sh        kafka-e2e-latency.sh           kafka-server-stop.sh
connect-mirror-maker.sh       kafka-features.sh              kafka-storage.sh
connect-standalone.sh         kafka-get-offsets.sh           kafka-streams-application-reset.sh
kafka-acls.sh                 kafka-jmx.sh                   kafka-topics.sh
kafka-broker-api-versions.sh  kafka-leader-election.sh       kafka-transactions.sh
kafka-cluster.sh              kafka-log-dirs.sh              kafka-verifiable-consumer.sh
kafka-configs.sh              kafka-metadata-quorum.sh       kafka-verifiable-producer.sh
kafka-console-consumer.sh     kafka-metadata-shell.sh        trogdor.sh
kafka-console-producer.sh     kafka-mirror-maker.sh          windows
kafka-consumer-groups.sh      kafka-producer-perf-test.sh    zookeeper-security-migration.sh
kafka-consumer-perf-test.sh   kafka-reassign-partitions.sh   zookeeper-server-start.sh
kafka-delegation-tokens.sh    kafka-replica-verification.sh  zookeeper-server-stop.sh
kafka-delete-records.sh       kafka-run-class.sh             zookeeper-shell.sh
kafka-dump-log.sh             kafka-server-start.sh

启动注册中心

单机演示直接使用kafka内部自带的zookeeper

nohup bin/zookeeper-server-start.sh config/zookeeper.properties &

启动kafka包里面自带的zk

启动kafka服务(broker)

nohup bin/kafka-server-start.sh config/server.properties &

启动kafka服务

创建topic

#在机器localhost:9092上创建Topic test  
bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092
#查看Topic
bin/kafka-topics.sh --describe --topic test --bootstrap-server localhost:9092

新建topic并查看topic

发送消息

# 生产消息topic为test  指定kafka机器为localhost:9092 
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

发送消息

消费消息

# 指定消费kafka机器为localhost:9092 ,topic为test的消息
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test

消费topic为test的消息

从头开始消费

# 从头开始消费
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --
topic test

从头消费

指定偏移量消费

例如用于线上故障后的消息回溯

# 从第0partition的第4个消息消费
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --partition 0 --offset 4 --topic test

指定偏移量消费

分组消费

一个消费者组下包含多个消费者,消费者即是本地机器上启动的消费者线程
一个Partition只能被同一消费者组里的一个消费者消费
一个消费者却可以消费多个Partition
Kafka会记录每个Partition被每个conuser-group消费的偏移量(消费到第几条了)

#两个消费者实例属于同一个消费者组
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --consumer-property group.id=testGrroup --topic test
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --consumer-property group.id=testGrroup --topic test
#这个消费者实例属于不同的消费者组
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --consumer-property group.id=testGrroup2 --topic test

f分组消费

查看分组消费信息

分组消费信息查询

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

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

相关文章

modelize.ai - 小记

文章目录 关于 关于 官网:https://www.beta.modelize.ai Modelize.ai是一个AI agents和teams的创作平台,通过结合多元的agents以及工作流的衔接,让AI agents之间高效协同,达到一键式完成复杂工作的效果。 公司的愿景是让AI打工人…

「专题速递」RTC云网端联合优化、弱网对抗策略、QUIC协议的能力和实践

随着互联网日益增长的加速需求、复杂的网络环境和多样化的视频业务,音视频技术领域的专家们正在不断探索如何实现准确和极低延迟的网络传输能力。他们在应用层流控、传输层协议设计以及跨层优化等方面积极努力,以改善用户的网络体验。 在当今数字化时代&…

Mac版快速切换工具:One Switch中文 for mac

One Switch是一款功能强大、体验极简的Mac菜单栏工具,适合需要频繁切换系统设置和启动应用程序的用户使用。通过它,用户可以更方便地完成日常操作,提高工作效率。 快速访问工具:One Switch提供了一个便捷的菜单栏图标,…

Android:实现手机前后摄像头预览同开

效果展示 一.概述 本博文讲解如何实现手机前后两颗摄像头同时预览并显示 我之前博文《OpenGLES:GLSurfaceView实现Android Camera预览》对单颗摄像头预览做过详细讲解,而前后双摄实现原理其实也并不复杂,粗糙点说就是把单摄像头预览流程写两…

计算机网络(第8版)-第4章 网络层

4.1 网络层的几个重要概念 4.1.1 网络层提供的两种服务 如果主机(即端系统)进程之间需要进行可靠的通信,那么就由主机中的运输层负责(包括差错处理、流量控制等)。 4.1.2 网络层的两个层面 4.2 网际协议 IP 图4-4 网…

Maven 中引用其他项目jar包出现BOOT-INF问题

问题 在B项目中引入A项目的类,但是发现怎么也引入不进来 A项目打包之后,想在B项目中引用jar 在B项目中发现类文件无法引用 参考网上进行清缓存等一系列操作都没有解决。 最后发现引用的jar包中包含BOOT-INF, 然后去A项目中查找&#xff…

黑马点评-02使用Redis代替session,Redis + token机制实现

Redis代替session session共享问题 每个Tomcat中都有一份属于自己的session,所以多台Tomcat并不共享session存储空间,当请求切换到不同tomcat服务时可能会导致数据丢失 用户第一次访问1号tomcat并把自己的信息存放session域中, 如果第二次访问到了2号tomcat就无法获取到在1号…

CSS小计

1:设置图片随窗缩放 使用百分比 width: 100%;height: 100%; 使用vmin: 将可视区域分为100vmin width: 100vmin;height: 100vmin; 2:设置字体颜色与背景色融合 mix-blend-mode: difference 3: 设置宽度自适应 width:fit-content 4:外边距合并 当两个相领的两个容…

Prompt-Tuning(一)

一、预训练语言模型的发展过程 第一阶段的模型主要是基于自监督学习的训练目标,其中常见的目标包括掩码语言模型(MLM)和下一句预测(NSP)。这些模型采用了Transformer架构,并遵循了Pre-training和Fine-tuni…

【MySql】4- 实践篇(二)

文章目录 1. SQL 语句为什么变“慢”了1.1 什么情况会引发数据库的 flush 过程呢?1.2 四种情况性能分析1.3 InnoDB 刷脏页的控制策略 2. 数据库表的空间回收2.1 innodb_file_per_table参数2.2 数据删除流程2.3 重建表2.4 Online 和 inplace 3. count(*) 语句怎样实现…

Uniapp 婚庆服务全套模板前端

包含 首页、社区、关于、我的、预约、订购、选购、话题、主题、收货地址、购物车、系统通知、会员卡、优惠券、积分、储值金、订单信息、积分、充值、礼品、首饰等 请观看 图片参观 开源,下载即可 链接:婚庆服务全套模板前端 - DCloud 插件市场 问题反…

(一)正点原子STM32MP135移植——准备

一、简述 使用板卡:正点原子的ATK-DLMP135 V1.2 从i.mx6ull学习完过来,想继续学习一下移植uboot和内核的,但是原子官方没有MP135的移植教程,STM32MP157的移植教程用的又是老版本的代码,ST官方更新后的代码不兼容老版本…

Redis缓存设计与性能优化

文章目录 一、缓存穿透二、缓存失效(击穿)三、缓存雪崩四、热点缓存key重建优化五、缓存与数据库双写不一致六、开发规范与性能优化键值设计key名设计value设计 命令使用客户端使用系统内核参数优化vm.swapinessvm.overcommit_memory(默认0)合理设置文件句柄数慢查询日志&#…

ZRTP交叉编译与移植

1 ZRTP源码下载 这里采用的是libzrtp来自于freeswitch:libs/libzrtp。 2 ZRTP交叉编译 zrtp编译比较简单,采用configure进行编译在根目录心中zrtp编译脚本,只需要指定交叉编译工具链和安装地址即可。脚本如下所示: unset CC C…

【刷题笔记10.6】LeetCode:汉明距离

LeetCode:汉明距离 一、题目描述 两个整数之间的汉明距离是指这两个数字对应二进制位不同的位置的数目。 给你两个整数x 和 y,计算并返回他们之间的汉明距离。 二、分析及代码实现 对于汉明距离问题我们其实可以将其转换为:计算x 和 y按…

使用opencv及FFmpeg编辑视频

使用opencv及FFmpeg编辑视频 1.融合两个视频2.为视频添加声音2.1 安装ffmpy Python包2.2 下载ffmpeg2.3 代码实现 3.效果参考文献 帮朋友做了一个小作业,具体实现分为几个过程: 将两个mp4格式视频融合到一起为新视频添加声音 1.融合两个视频 其中一个…

makeMakefile

一、 什么是make&Makefile ? ①make 是一条命令,makefile是一个文件,配合使用,通过依赖关系和依赖方法达到我们形成可执行程序的目的 ②makefile好处就是可以进行 自动化编译 ” ,极大的提高软件开发的效率,一旦写好,只需要一个 make 命令…

MySQL 事务隔离级别与锁机制详解

目录 一、前言二、事务及其ACID属性三、并发事务处理带来的问题四、事务隔离级别4.1、隔离级别分类4.2、查看当前数据库的事务隔离级别:4.3、临时修改数据库隔离级别(重启MySQL后恢复到配置中的级别) 五、表数据准备六、MySQL常见锁介绍5.1、锁分类5.2、…

【Pytorch笔记】6.Transforms

pytorch官方文档 - transforms transforms需要使用计算机视觉工具包:torchvision。 torchvision.transforms:常用的图像预处理方法; torchvision.datasets:常用数据集的dataset实现,如MNIST、CIFAR-10、ImageNet等&am…

【RK3588】YOLO V5在瑞芯微板子上部署问题记录汇总

YOLO V5训练模型部署到瑞芯微的板子上面,官方是有给出案例和转过详情的。并且也提供了Python版本的推理代码,以及C语言的代码。 但是,对于转换过程中的细节,哪些需要改?怎么改?如何改,和为什么…