kafka 下载安装

article/2025/9/23 2:25:38

文章目录

  • 第一章 kafka概述
    • 一、定义
    • 二、消息队列
      • 1、传统消息队列
      • 2、消息队列的两种模式
        • (1)点对点模式
        • (2)发布/订阅模式
    • 三、kafka基础架构
  • 第二章 Kafka安装
    • 一、安装部署
      • 1、集群规划
    • 二、集群部署
      • 1、下载地址
        • (1)官网首页
        • (2)下载截图
      • 2、解压安装包
      • 3、修改解压后的文件名称
      • 4、进入到/opt/module/kafka 目录,修改配置文件
      • 5、分发安装包
      • 6、分别在 slave1 和 slave2上修改配置文件/opt/module/kafka/config/server.properties
      • 7、配置环境变量
        • (1)在/etc/profile.d/my_env.sh 文件中增加 kafka 环境变量配置
        • (2)刷新一下环境变量
        • (3)分发环境变量文件到其他节点,并 source。
      • 8、启动集群
        • (1)先启动 Zookeeper 集群,然后启动 Kafka。
        • (2)(2)依次在 master、slave1、slave2 节点上启动 Kafka。
      • 9、关闭集群
    • 三、集群启停脚本
      • 1、在/home/atguigu/bin 目录下创建文件 kf.sh 脚本文件
      • 2、添加执行权限
      • 3、启动集群命令
      • 4、停止集群命令


第一章 kafka概述

一、定义

  • Kafka传统定义Kafka是一个分布式的基于发布/订阅模式的消息队列(MessageQueue),主要应用于大数据实时处理领域。
  • 发布/订阅:消息的发布者不会将消息直接发送给特定的订阅者,而是将发布的消息分为不同的类别,订阅者只接收感兴趣的消息。
  • Kafka最新定义:Kafka是一个开源的分布式事件流平台( Event StreamingPlatform),被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。
    在这里插入图片描述

二、消息队列

  • 目 前企 业中比 较常 见的 消息 队列产 品主 要有 Kafka、ActiveMQ 、RabbitMQ 、
    RocketMQ 等。
    在大数据场景主要采用 Kafka 作为消息队列。在 JavaEE 开发中主要采用 ActiveMQ、
    RabbitMQ、RocketMQ。

1、传统消息队列

  • 传统的消息队列的主要应用场景包括:缓存/消峰、解耦和异步通信。

  • 缓冲/消峰:有助于控制和优化数据流经过系统的速度,解决生产消息和消费消息的处理速度不一致的情况。

  • 解耦:允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。

  • 异步通信:允许用户把一个消息放入队列,但并不立即处理它,然后在需要的时候再去处理它们

2、消息队列的两种模式

(1)点对点模式

  • 消费者主动拉取数据,消息收到后清除消息
    在这里插入图片描述

(2)发布/订阅模式

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

在这里插入图片描述

三、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。

第二章 Kafka安装

一、安装部署

1、集群规划

masterslave1slave2
zkzkzk
kafkakafkakafka

二、集群部署

1、下载地址

(1)官网首页

在这里插入图片描述

(2)下载截图

在这里插入图片描述

2、解压安装包

[atguigu@master software]$ tar -zxvf kafka_2.12-3.0.0.tgz -C /opt/module/

3、修改解压后的文件名称

[atguigu@master module]$ mv kafka_2.12-3.0.0/ kafka

在这里插入图片描述

4、进入到/opt/module/kafka 目录,修改配置文件

在这里插入图片描述

  • 修改以下内容:
    在这里插入图片描述
#broker 的全局唯一编号,不能重复,只能是数字。
broker.id=0

在这里插入图片描述

#kafka 运行日志(数据)存放的路径,路径不需要提前创建,kafka 自动帮你创建,可以
配置多个磁盘路径,路径与路径之间可以用","分隔
log.dirs=/opt/module/kafka/datas

在这里插入图片描述

#配置连接 Zookeeper 集群地址(在 zk 根目录下创建/kafka,方便管理)
zookeeper.connect=master:2181,slave1:2181,slave2:2181/ka
fka

5、分发安装包

[atguigu@master module]$ xsync kafka/

在这里插入图片描述

6、分别在 slave1 和 slave2上修改配置文件/opt/module/kafka/config/server.properties

中的 broker.id=1、broker.id=2

  • 注意::broker.id 不得重复,整个集群中唯一。
[atguigu@master module]$ ssh slave1
Last login: Mon Jul 11 21:03:23 2022 from 192.168.10.1
[atguigu@slave1 ~]$ cd /opt/module/kafka/config/
[atguigu@slave1 config]$ vim server.properties 
[atguigu@slave1 config]$ ssh slave2
Last login: Mon Jul 11 21:03:28 2022 from 192.168.10.1
[atguigu@slave2 ~]$ vim /opt/module/kafka/config/server.properties
[atguigu@slave2 ~]$ 
  • slave1
    在这里插入图片描述

  • slave2
    在这里插入图片描述

7、配置环境变量

(1)在/etc/profile.d/my_env.sh 文件中增加 kafka 环境变量配置

  • 添加如下内容:
#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin

在这里插入图片描述

(2)刷新一下环境变量

[atguigu@master module]$ source /etc/profile

(3)分发环境变量文件到其他节点,并 source。

[atguigu@master module]$ sudo /home/atguigu/bin/xsync /etc/profile.d/my_env.sh
[atguigu@slave1 config]$ source /etc/profile
[atguigu@slave2 config]$ source /etc/profile

在这里插入图片描述

8、启动集群

(1)先启动 Zookeeper 集群,然后启动 Kafka。

[atguigu@master module]$ zk.sh start

在这里插入图片描述

(2)(2)依次在 master、slave1、slave2 节点上启动 Kafka。

[atguigu@master kafka]$ bin/kafka-server-start.sh -daemon config/server.properties 
[atguigu@slave1 kafka]$ bin/kafka-server-start.sh -daemon config/server.properties
[atguigu@slave2 kafka]$ bin/kafka-server-start.sh -daemon config/server.properties
  • 注意:配置文件的路径要能够到 server.properties。
  • 查看是否启动成功
    在这里插入图片描述

9、关闭集群

[atguigu@master kafka]$ bin/kafka-server-stop.sh 
[atguigu@slave1 kafka]$ bin/kafka-server-stop.sh 
[atguigu@slave2 kafka]$ bin/kafka-server-stop.sh
  • 查看是否关闭
    在这里插入图片描述

三、集群启停脚本

1、在/home/atguigu/bin 目录下创建文件 kf.sh 脚本文件

[atguigu@master bin]$ vim kf.sh
  • 脚本内容如下:
#! /bin/bash
case $1 in
"start"){for i in master slave1 slave2doecho " --------启动 $i Kafka-------"ssh $i "/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties"done
};;
"stop"){for i in master slave1 slave2doecho " --------停止 $i Kafka-------"ssh $i "/opt/module/kafka/bin/kafka-server-stop.sh "done
};;
esac

2、添加执行权限

[atguigu@master bin]$ chmod 777 kf.sh

在这里插入图片描述

3、启动集群命令

[atguigu@master bin]$ kf.sh start

在这里插入图片描述

4、停止集群命令

[atguigu@master bin]$ xcall.sh jps

在这里插入图片描述

  • 注意:停止 Kafka 集群时,一定要等 Kafka 所有节点进程全部停止后再停止 Zookeeper
    集群。因为 Zookeeper 集群当中记录着 Kafka 集群相关信息,Zookeeper 集群一旦先停止,
    Kafka 集群就没有办法再获取停止进程的信息,只能手动杀死 Kafka 进程了。

http://chatgpt.dhexx.cn/article/rOs6tTiu.shtml

相关文章

kafka下载与安装教程

Kafka下载安装教程 1.定义2.特性3.使用场景4.1.下载jar包4.2.解压到指定的文件夹4.3.修改配置文件4.4.启动kafka内置的zookeeper4.5.启动kafka服务4.6.创建一个名为 test1 的tiopic的测试主体 kafka4.7.创建生产消息的生产者4.8.创建消息消费者接收消息 1.定义 Kafka传统定义&…

CSRF(跨站请求伪造)原理

什么是CSRF? (Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF&#xff…

Spring Security跨站请求伪造(CSRF)

CSRF(Cross Site Request Forgery) 跨站点请求伪造。是攻击者欺骗用户的浏览器去访问一个自己曾经认证过的网站。由于浏览器曾经认证过,所以被访问的网站会认为是真正的用户操作而去运行。这利用了 web 中用户身份验证的一个漏洞&#xff1a…

解决Csrf跨站请求伪造

Csrf跨站请求伪造原理: 1. 用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请…

web渗透测试----14、CSRF(跨站请求伪造攻击)

文章目录 一、CSRF概述二、CSRF攻击条件1、相关操作2、基于Cookie的会话处理3、没有不可预测的请求参数 三、CSRF的防御1、验证请求的Referer值2、CSRF Token3、验证码等验证业务过程的方式 四、基于Token的CSRF1、CSRF令牌的验证取决于请求方法2、CSRF令牌的验证取决于令牌是否…

跨站请求伪造漏洞

首先说明一下什么是CSRF(Cross Site Request Forgery)? 跨站请求伪造是指攻击者可以在第三方站点制造HTTP请求并以用户在目标站点的登录态发送到目标站点,而目标站点未校验请求来源使第三方成功伪造请求。 为什么会有CSRF? JS控制浏览器发送请求的时…

DVWA---跨站请求伪造CSRF

CSRF,全称Cross-site request forgery,翻译过来就是跨站请求伪造,是指利用受害者尚未失效的身份认证信息(cookie、会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况…

CSRF 跨站请求伪造攻击

1.概念 全称是CSRF 跨站请求伪造攻击,攻击者利用用户已登陆的账号,诱导用户访问已构造好的恶意链接或页面,在用户不之情的情况下,做一些违反用户本意的一些违法操作。 同源策略:协议相同,域名相同&#xf…

CSRF-跨站请求伪造的原理与修复方式

CSRF: Cross site Request Forgery 跨站请求伪造 原理: 利用xss方式注入一段脚本,通过伪装来自受信任用户的请求来利用受信任的网站,当受害者在浏览器中运行该脚本时,脚本仿冒受害者,向合法的web系统发送一个请求&…

web基础漏洞之CSRF(跨站请求伪造漏洞)

cookie session token 我觉得在开始学习CSRF之前应该先学会区分这三种东西:cookie session token cookie: Cookie,有时也用其复数形式 Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户…

Laravel框架之CSRF跨站请求伪造

一、CSRF攻击 1、什么是CSRF攻击 CSRF是跨站请求伪造(Cross-site request forgery)的英文缩写, 原理图示: csrf在laravel框架中的使用,就是在客户端form表单中设置一个_token表单域 同时把该表单域的值记录给sessi…

什么是CSRF(跨站请求伪造)?

文章目录 1. CSRF是什么?1.1 CSRF攻击细节CSRF攻击原理及过程如下: 2. CSRF漏洞检测3. 防御CSRF攻击:3.1 验证 HTTP Referer 字段3.1.1 优点:3.1.2 缺点: 3.2 在请求地址中添加 token 并验证3.3 在 HTTP 头中自定义属性并验证 1. …

WordPress 跨站请求伪造漏洞

WordPress 跨站请求伪造漏洞 漏洞ID2500593漏洞类型跨站请求伪造发布时间2021-07-08更新时间2021-07-09 CVE编号CVE-2021-20781 CNNVD-IDCNNVD-202107-420漏洞平台N/ACVSS评分N/A 漏洞简介 WordPress是Wordpress基金会的一套使用PHP语言开发的博客平台。该平台支持在PHP和My…

056 CSRF跨站请求伪造

文章目录 一: 概述二:关键点三:目标四:CSRF攻击如何触发?五:实战:CSRF场景复现六:CSRF防御6.1 无效的防御6.2 有效的防御 一: 概述 跨站请求伪造(cross site…

CSRF - 跨站请求伪造

什么是CSRF? CSRF(Cross-site request forgery)跨站请求伪造:也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS)&a…

CSRF(跨站请求伪造)

目录 CSRF 原理及过程 概述 关键点 pikachu靶场之CSRF GET型 POST型 Token 防御 如何挖掘CSRF漏洞 使用burp验证csrf 总结 CSRF (Cross-Site Request Forgery) CSRF是一种欺骗受害者提交恶意请求的攻击,攻击者盗用你的身份,向服务器发送请求…

Spring Boot项目CSRF (跨站请求伪造)攻击演示与防御

CSRF ,Cross-site request forgery,跨站请求伪造。是常见的网络攻击的方式之一,2007年曾被列为互联网20大安全隐患之一。攻击过程是攻击者伪造用户的浏览器请求,访问一个用户曾经访问过的网站, 使目标网站误以为是用户的操作而执行命令。 本篇j基于Spring Boot创建项目,…

每日漏洞 | 跨站请求伪造

01 漏洞描述 HTTP的无状态性,导致Web应用程序必须使用会话机制来识别用户。一旦与Web站点建立连接(访问、登录),用户通常会分配到一个Cookie,随后的请求,都会带上这个Cookie,这样Web站点就很容易分辨请求来自哪个用户&…

CSRF跨站请求伪造

CSRF介绍: CSRF中文名称:跨站请求伪造,是一种“ 挟持用户”在当前已登陆的Web应用程序上执行“ 非本意操作”的攻击方法。 一、CSRF回放攻击流程 套用老师所给的一张攻击原理图 从这张流程图里我们总结一下CSRF攻击生效所需要的两个必要条件 …

【CSRF-01】跨站请求伪造漏洞基础原理及攻防

目录 1 CSRF概述2 CSRF攻击过程及原理2.1 CSRF场景例子2.2 攻击过程2.3 原理2.4 攻击成功的条件: 3 CSRF攻击方式/如何触发5 CSRF的防御5.1 一些无效的防御手段5.2 有效的防御手段 6 总结参考文章 1 CSRF概述 定义:CSRF(Cross-site request …