kafka 3.x 学习笔记

这篇具有很好参考价值的文章主要介绍了kafka 3.x 学习笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

kafka 3.x 学习笔记

在 kafka 2.8.0 版本之前,安装使用 kafka 需要配套安装 zookeeper,但在 2.8.0 版本之后,不再需要安装 zookeeper,本次学习笔记采用的 kafka 版本为 3.0.0。

一、kafka 定义

1 什么是 kafka?
  • 传统定义:kafka 是一个分布式的基于发布/订阅模式的消息队列,主要应用于大数据实时处理领域。

    • 发布/订阅:消息的发布者不会将消息发给特定的订阅者,而是将发布的消息分为不同的类别,订阅者只接收感兴趣的消息。
  • kafka 是一个开源的分布式事件流平台,被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。


2 消息队列

市面上常见的消息队列产品主要有 kafka、ActiveMQ、RabbitMQ、RocketMQ 等。在大数据领域主要采用 kafka 作为消息队列,在 java web开发中主要采用 ActiveMQ、RabbitMQ、RoketMQ。


3 消息队列应用场景
  • 缓冲/消峰:尤其是特定环境下大量的并发请求,后端接口不能在短时间承受这些大量的接口,因此采用消息队列做缓冲处理。
    kafka 3.x 学习笔记,kafka,java

  • 异步解耦:举例一个通俗易懂的案例:现在的很多平台都提供了借钱的入口,比如美团,我猜测美团后台的逻辑大致应该是这样的:

    • 1、首先用户提交个人信息;

    • 2、美团后端接收到用户信息后,进行借款额度判断:

      比如调用法院官网,查看此人是不是老赖;
      调用银行的征信系统,查看此人征信是否良好等等;
      调用政府相关部门官网,查看此人是否有房产车产等等。
      调用完毕后,得出一个初始的可款额度。

    • 3、将用户存入借款用户表;

    • 4、调用第三方短信服务,向用户发送借款额度的通知短信;

    • 5、美团 app 向用户展示可借款金额,然后向用户确认是否借款,如借款则向用户银行卡转账。

举例的这个小案例,只是本人的猜测,如果这些步骤采用同步的方式设计的话,显然很不友好,采用异步不仅能解耦,也能加快后端服务的响应速度。

4 消息队列的两种模式
  • 点对点模式:消费者主动拉取数据,消息收到后清楚消息。
  • 发布/订阅模式:可以有多个 topic 主题,消费者获取自己对应的 topic,消费者消费数据之后,不删除数据,并且消费者之间相互独立。

5 kafka 基础架构

kafka 3.x 学习笔记,kafka,java
但是对于每个 topic,数据量太大的时候为提高吞吐量,可以将 topic 进行分而治之:

kafka 3.x 学习笔记,kafka,java

二、Centos 7 安装 kafka

kafka 官方地址:http://kafka.apache.org/downloads.html

kafka 3.x 学习笔记,kafka,java
1 在官网下载安装包后上传至服务器,进行解压安装:

tar -zxvf kafka_2.12-3.0.0.tgz

2 把 kafka_2.12-3.0.0 重命名:kafka

mv kafka_2.12-3.0.0 kafka

kafka 3.x 学习笔记,kafka,java

3 启动 kafka

bin/kafka-server-start.sh -daemon config/server.properties
// 查看是否启动成功
jps 

kafka 3.x 学习笔记,kafka,java

三、kafka 命令操作

  • 操作 topic 相关命令

1 查看 topic 相关命令

bin/kafka-topics.sh

2 常用命令

参数 描述
–bootstrap-server <String:ser toconnece 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 更新系统默认的配置

在使用命令之前,先搭建hadoop的集群环境,这里我就在我的另一台腾讯云服务器上安装hadoop。

hadoop 下载地址:https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz

这里我下载的是3.1.3的版本。

3 另一台服务器安装hadoop

// 我的默认安装路径为: /usr/local/src/
tar -zxvf hadoop-3.1.3.tar.gz

4 配置hadoop的环境变量

此处踩坑记录:千万不能直接在/etc/profile文件里配置 hadoop,会导致服务器其他指令全部失效。百度了一番网上的建议是自建一个文件进行配置:vim /etc/profile.d/my_env.sh,在该文件中进行 hadoop 的环境配置即可。

vim /etc/profile.d/my_env.sh

// hadoop环境变量
export HADOOP_HOME=/usr/local/src/hadoop-3.1.3
export PATH=${HADOOP_HOME}/bin
export PATH=${HADOOP_HOME}/sbin

kafka 3.x 学习笔记,kafka,java

修改过后保存退出,记得加载配置:文章来源地址https://www.toymoban.com/news/detail-773941.html

source /etc/profile

到了这里,关于kafka 3.x 学习笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kafka学习笔记(高级篇)

    目录 高级功能 高效读写 涉及技术 ZooKeeper 自定义拦截器 监控 延迟消费 一些改进手段 涉及技术 高吞吐量:Kafka 每秒可以处理数百万消息。这是因为 Kafka 消息的处理是以批处理(Batching)的方式来完成的,生产者可以将多个消息一起发送到 Kafka 集群,以减少网络开销以及加

    2024年02月15日
    浏览(42)
  • Kafka学习笔记(基础篇)

    目录 Kafka简介 消息队列 Kafka的应用场景 消息队列的两种模型 Kafka集群搭建 Kafka的生产者/消费者/工具 Kafka的基准测试工具 Kafka中的重要概念 消费者组 幂等性 Kafka中的分区副本机制 生产者的分区写入策略 消费组Consumer Group Rebalance机制 消费者的分区分配策略 副本的ACK机制 高

    2024年02月12日
    浏览(43)
  • kafka学习笔记

    1、kafka是什么? kafka是一个高吞吐,分布式,基于发布/订阅的消息系统,最大的特性就是可以实时的处理大量的数据以满足各种需求场景:日志收集,离线和在线的消息消费,等等 2、kakfa的基础架构? topic 主题:kafka根据topic对消息进行分类,发布到kafka上的每一条消息都要

    2024年02月02日
    浏览(32)
  • 学习笔记 | Kafka

    1、Kafka传统定义:Kafka 是一个分布式的基于 发布/订阅模式 的消息队列(Message Queue) ,主要应用与大数据实时处理领域。 2、发布/订阅:消息的发送者不会将消息直接发送给特定的订阅者,而是将发布的消息分为不同的类别,订阅者只接受自己感兴趣的消息。 3、Kafka 最新定

    2024年01月25日
    浏览(28)
  • 大数据-kafka学习笔记

    Kafka 是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。 Kafka可以用作Flink应用程序的数据源。Flink可以轻松地从一个或多个Kafka主题中消费数据流。这意味着您可以使用Kafka来捕获和传输实时数据,并将其发送到Flink进行进一步处理

    2024年02月07日
    浏览(81)
  • kafka 3.x 学习笔记

    在 kafka 2.8.0 版本之前,安装使用 kafka 需要配套安装 zookeeper,但在 2.8.0 版本之后,不再需要安装 zookeeper,本次学习笔记采用的 kafka 版本为 3.0.0。 一、kafka 定义 1 什么是 kafka? 传统定义:kafka 是一个分布式的基于发布/订阅模式的消息队列,主要应用于大数据实时处理领域。

    2024年02月03日
    浏览(48)
  • kafka的基本使用--学习笔记

    作用:将SparkSql转换成spark rdd任务提交进行计算 解析器 将sparksql代码解析成语法树(未解析的逻辑查询计划) 分析器 将语法树解析成解析后的逻辑查询计划 对逻辑查询计划进行属性和关系关联检验 优化器 将解析后的逻辑查询计划进行优化, 得到优化后的逻辑查询计划 谓词下推

    2024年02月21日
    浏览(32)
  • kafka学习笔记-- 文件清理策略与高效读写数据

    本文内容来自尚硅谷B站公开教学视频,仅做个人总结、学习、复习使用,任何对此文章的引用,应当说明源出处为尚硅谷,不得用于商业用途。 如有侵权、联系速删 视频教程链接:【尚硅谷】Kafka3.x教程(从入门到调优,深入全面) Kafka 中默认的日志保存时间为 7 天,可以

    2024年01月19日
    浏览(42)
  • 《kafka 核心技术与实战》课程学习笔记(七)

    压缩(compression)秉承了用时间去换空间的经典 trade-off 思想,具体来说就是用 CPU 时间去换磁盘空间或网络 I/O 传输量,希望以较小的 CPU 开销带来更少的磁盘占用或更少的网络 I/O 传输。 目前 Kafka 共有两大类消息格式,社区分别称之为 V1 版本和 V2 版本。 不论是哪个版本,

    2024年02月11日
    浏览(50)
  • 《kafka 核心技术与实战》课程学习笔记(五)

    严格来说这些配置并不单单指 Kafka 服务器端的配置,其中既有 Broker 端参数,也有主题级别的参数、JVM 端参数和操作系统级别的参数。 Broker 端参数也被称为静态参数(Static Configs): 所谓 静态参数 ,是指你必须在 Kafka 的配置文件 server.properties 中进行设置的参数 ,不管你

    2024年02月11日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包