kafka学习知识点总结(一)
kafka + sparkStreaming 有什么好处:
1、解耦 2、缓冲 (系统之间解耦合、峰值压力缓冲、异步通信)
kafka消息队列的特点:
可靠性保证: 自己不丢数据,消费者不丢数据
消息系统的特点:生产者消费者模式 ,FIFO
--partition内部是FIFO的,partition之间不是FIFO的,当然我们可以把一个topic设为一个pertition,这样就是严格的FIFO ,
高性能: 单节点支持上千个客户端,百MB/S吞吐
持久性:消息直接持久化到磁盘上且性能好
--直接写到磁盘里面去,就是直接append到磁盘里面去,这样的好处是持久化,数据不会丢失,第二个好处是顺序写,然后消费数据也是顺序读,所以持久化的同时还能保证顺序读写。
分布式: 数据副本冗余,流量负载均衡、可扩展
--分布式,数据副本,也就是一份数据可以到不用的broker上去,也就是当一份数据磁盘坏掉的时候,数据不会丢失,比如3个副本,就是在3个机器磁盘都坏掉的情况下,数据才会丢失
很灵活: 消息长时间持久化 + client 维护消费状态
--消费方式非常的灵活,第一原因是消息持久化的时间跨度长,一天或者一个星期,第二消费者可以自己维护消费到那个地方了,可以自定义消费偏移量
kafka是分布式消息系统,默认直接将数据存储到磁盘,保存7天
搭建kafak集群:
一、kafka0.8.2版本集群的搭建:
1、上传kafka0.82的安装包
2、解压安装包 tar -zxvf kafka-0.8.2
3、修改配置文件 cd /kafka-0.8.2/config vim servere.properties
配置文件中需要修改的内容:
broker.id = 0 =》 代表第一个broker节点
broker.id = 1 => 代表第二个broker节点
broker.id = 2 = > 代表第三个broker节点
配置通信端口号: port = 9092
log.dirs = /kafka.logs (配置kafka数据存储的文件夹位置)
配置zookeeper :
zookeeper.connect = mynode3:2181,mynode4:2181,mynode5:2181
配置完成之后,对配置文件就行保存
4、上传kafka启动脚本 (启动脚本的作用,在kafka启动之后,保证不会占用通信节点的窗口,让启动信息在窗口后台去运行 )
脚本上传的位置: kafka-0.8.2.2 文件夹的第一级目录之中 ,位置如果放置错误,启动脚本将会失效,需要自己修改脚本中的启动路劲
5、分发文件到其他节点 scp -r ./kafka_2.10.0.8.2.2/ mynode2:`pwd`
6、非脚本命令启动kafka: 进去bin目录 ./kafka-server-start.sh ../config/server.propoerties
kafka创建topic的命令:
./kafka-topics.sh --zookeeper mynode3:2181,mynode4:2181,mynode5:2181 --create --topic topic0627 --partitions 3 --replication-factor 3
kafka删除topic的命令:
./kafka-topics.sh --zookeeper mynode3:2181,mynode4:2181,mynode5:2181 --delete --topic topic0627
执行删除命令之后,topic节点不会被立即的删除,但是会给topic添加一个删除标记,等一周之后再进行删除
如果需要立即对topic节点进行删除,需要在配置文件中配置一个删除参数
在server.properties文件中配置 delete.topic.enable = true 配置成功之后,就能对数据进行删除了
spark1.6+kafka0.8.2
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!