没有合适的资源?快使用搜索试试~ 我知道了~
大数据技术之Kafka.docx详细文档
资源推荐
资源详情
资源评论
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/release/download_crawler_static/15545888/bg1.jpg)
—————————————————————————————————————
大数据技术之 Kafka
版本:V3.0
第 1 章 Kafka 概述
1.1 消息队列(Message Queue)
1.1.1 传统消息队列的应用场景
1.1.2 消息队列的两种模式
1)点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除)
消息生产者生产消息发送到 Queue 中,然后消息消费者从 Queue 中取出并且消费消息。
消息被消费以后,queue 中不再有存储,所以消息消费者不可能消费到已经被消费的
消息。Q ueue 支持存在多个消费者,但是对一个消息而言,只会有一个消费者可以消费。
![](https://csdnimg.cn/release/download_crawler_static/15545888/bg2.jpg)
—————————————————————————————————————
2)发布/订阅模式(一对多,消费者消费数据之后不会清除消息)
消息生产者(发布)将消息发布到 topic 中,同时有多个消息消费者(订阅)消费该消
息。和点对点方式不同,发布到 topic 的消息会被所有订阅者消费。
1.2 定义
Kaa 是一个分布式的基于发布/订阅模式的消息队列,主要应用于大数据实时处理领
域。
![](https://csdnimg.cn/release/download_crawler_static/15545888/bg3.jpg)
—————————————————————————————————————
1.3 Kafka 基础架构
(1)Producer :消息生产者,就是向 kafka broker 发消息的客户端;
(2)Consumer :消息消费者,向 kafka broker 取消息的客户端;
(3)Consumer Group (CG):消费者组,由多个 consumer 组成。消费者组内每个
消费者负责消费不同分区的数据,一个分区只能由一个消费者消费;消费者组之间互不影
响。所有的消费者都属于某个消费者组,即消费者组是逻辑上的一个订阅者。
(4)Broker :一台 kafka 服务器就是一个 broker。一个集群由多个 broker 组成。一个
broker 可以容纳多个 topic。
(5)Topic :可以理解为一个队列,生产者和消费者面向的都是一个 topic;
(6)Partition:为了实现扩展性,一个非常大的 topic 可以分布到多个 broker(即服务
器)上,一个 topic 可以分为多个 partition,每个 partition 是一个有序的队列;
(7)Replica:副本,为保证集群中的某个节点发生故障时,该节点上的 partition 数据
不丢失,且 kafka 仍然能够继续工作,kafka 提供了副本机制,一个 topic 的每个分区都有若
干个副本,一个 leader 和若干个 follower。
(8)leader:每个分区多个副本的“主”,生产者发送数据的对象,以及消费者消费数
据的对象都是 leader。
(9)follower:每个分区多个副本中的“从”,实时从 leader 中同步数据,保持和 leader
数据的同步。leader 发生故障时,某个 follower 会成为新的 leader。
![](https://csdnimg.cn/release/download_crawler_static/15545888/bg4.jpg)
—————————————————————————————————————
第 2 章 Kafka 快速入门
2.1 安装部署
2.1.1 集群规划
hadoop102hadoop103hadoop104
zkzkzk
kafkakafkakafka
2.1.2 jar 包下载
http://kafka.apache.org/downloads
2.1.3 集群部署
1)解压安装包
[atguigu@hadoop102 software]$ tar -zxvf kafka_2.11-2.4.1.tgz -C
/opt/module/
2)修改解压后的文件名称
[atguigu@hadoop102 module]$ mv kafka_2.11-2.4.1/ kafka
3)在/opt/module/kafka 目录下创建 logs 文件夹
[atguigu@hadoop102 kafka]$ mkdir logs
4)修改配置文件
[atguigu@hadoop102 kafka]$ cd config/
[atguigu@hadoop102 config]$ vi server.properties
输入以下内容:
#broker 的全局唯一编号,不能重复
broker.id=0
#删除 topic 功能使能
delete.topic.enable=true
#处理网络请求的线程数量
num.network.threads=3
#用来处理磁盘 IO 的现成数量
num.io.threads=8
#发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
#接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
#请求套接字的缓冲区大小
![](https://csdnimg.cn/release/download_crawler_static/15545888/bg5.jpg)
—————————————————————————————————————
socket.request.max.bytes=104857600
#kafka 运行日志存放的路径
log.dirs=/opt/module/kafka/logs
#topic 在当前 broker 上的分区个数
num.partitions=1
#用来恢复和清理 data 下数据的线程数量
num.recovery.threads.per.data.dir=1
#segment 文件保留的最长时间,超时将被删除
log.retention.hours=168
#配置连接 Zookeeper 集群地址
zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181/kafka
5)配置环境变量
[atguigu@hadoop102 module]$ sudo vi /etc/profile.d/my_env.sh
#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin
[atguigu@hadoop102 module]$ source /etc/profile
6)分发安装包
[atguigu@hadoop102 module]$ xsync kafka/
注意:分发之后记得配置其他机器的环境变量
7)分别在 hadoop103 和 hadoop104 上修改配置文件/opt/module/kafka/
config/server.properties 中的 broker.id=1、broker.id=2
注:broker.id 不得重复
7)启动集群
依次在 hadoop102、hadoop103、hadoop104 节点上启动 kafka
[atguigu@hadoop102 kafka]$ kafka-server-start.sh -daemon
$KAFKA_HOME/config/server.properties
[atguigu@hadoop103 kafka]$ kafka-server-start.sh -daemon
$KAFKA_HOME/config/server.properties
[atguigu@hadoop104 kafka]$ kafka-server-start.sh -daemon
$KAFKA_HOME/config/server.properties
8)关闭集群
[atguigu@hadoop102 kafka]$ bin/kafka-server-stop.sh
[atguigu@hadoop103 kafka]$ bin/kafka-server-stop.sh
[atguigu@hadoop104 kafka]$ bin/kafka-server-stop.sh
9)kafka 群起脚本
for i in hadoop102 hadoop103 hadoop104
do
echo "========== $i =========="
ssh $i '/opt/module/kafka/bin/kafka-server-start.sh -daemon
/opt/module/kafka/config/server.properties'
echo $?
done
2.2 Kafka 命令行操作
1)查看当前服务器中的所有 topic
剩余29页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/9e8f851c7aa146d38b6a6c84d76a52ef_qq_32727095.jpg!1)
![avatar-vip](https://csdnimg.cn/release/downloadcmsfe/public/img/user-vip.1c89f3c5.png)
一个写湿的程序猿
- 粉丝: 1w+
- 资源: 14
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)