用户名
Email
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
帖子
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
大数据
›
数据仓库与分析
›
Zookeeper与Kafka学习笔记
Zookeeper与Kafka学习笔记
嚴華
论坛元老
|
2025-3-11 23:50:12
|
显示全部楼层
|
阅读模式
楼主
主题
1736
|
帖子
1736
|
积分
5208
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
一、Zookeeper核心要点
1. 核心特性
分布式和谐服务,用于维护配置/定名/同步等元数据
采用层次化数据模型(Znode树结构),每个节点可存储<1MB数据
典范应用场景:
Hadoop NameNode高可用
HBase元数据管理
Kafka集群选举与状态管理
2. 筹划限制
内存型存储,不适合大数据量场景
数据变动通过版本号(Version)控制,实现乐观锁机制
采用ZAB协议保证数据一致性
二、Kafka核心架构
1. 三大核心角色
消息体系
:解耦/削峰/异步通讯,支持次序性与回溯消费
存储体系
:长期化存储+多副本机制,数据保留计谋可配置
流处理平台
:提供窗口/连接/聚合等实时处理本事
2. 核心组件
组件
功能说明
Producer
消息生产者,支持自动负载均衡/指定分区写入
Broker
服务节点,负责消息长期化存储与副本同步
Consumer
采用Pull模式消费,记录offset保证消费连续性
3. 核心机制
主题与分区
:
Topic逻辑分类,Partition物理分片(提升并发本事)
单Partition内消息有序,不同Partition间无序
多副本机制
:
Leader处理读写,Follower同步数据
ISR(In-Sync Replicas)机制保障高可用
三、Zookeeper与Kafka协同
集群管理
:记录Broker注册信息与存活状态
元数据存储
:
存储Topic配置、Partition分配方案
维护Consumer Group的offset信息(旧版本)
选举机制
:
Controller选举(集群主节点)
Partition Leader选举
四、消息存储与消费
1. 存储筹划
分区对应物理日志文件(Segment分段存储)
索引文件采用希罕存储,节流空间
消息按时间/巨细计谋整理旧数据
2. 消费模式
模式
特点
点对点
单消费组单消费者
发布-订阅
多消费组独立消费
高效消费配置
消费者数=分区数实现最大并行度
五、常用命令速查
1. Topic管理
bash# 创建主题(4分区2副本)
kafka-topics.sh --create --bootstrap-server localhost:9092 \
--topic my-topic --partitions 4 --replication-factor 2
# 查看主题详情
kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic my-topic
复制代码
2. 生产消费
bash# 控制台生产者(带Key发送)
kafka-console-producer.sh --bootstrap-server localhost:9092 \
--topic my-topic --property parse.key=true --property key.separator=":"
# 控制台消费者(显示元数据)
kafka-console-consumer.sh --bootstrap-server localhost:9092 \
--topic my-topic --property print.partition=true --property print.offset=true
复制代码
3. 集群管理
bash# 查看Broker状态
kafka-cluster.sh --bootstrap-server localhost:9092 --describe
# 修改集群配置
kafka-configs.sh --bootstrap-server localhost:9092 --entity-type brokers \
--entity-name 0 --alter --add-config "log.retention.hours=168"
复制代码
六、摆设要点
情况要求:JDK8+、Zookeeper集群(发起3/5节点)
推荐工具:Kafka-UI举行可视化监控
性能调优方向:
分区数规划
副本因子设置
消息保留计谋
压缩算法选择(gzip/lz4等)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
嚴華
论坛元老
这个人很懒什么都没写!
楼主热帖
iOS全埋点解决方案-用户标识 ...
用uniapp实现微信小程序的电子签名效果 ...
【万能皆可链接】C++中的动态链接库编 ...
【云服务器】推荐阿贝云服务器,目前永 ...
【Selenium+Pytest+allure报告生成自动 ...
【Javaweb】Web工作原理、两种网页、两 ...
MySQL实战45讲 20
Qt-FFmpeg开发-打开本地摄像头(6) ...
Spring Boot 配置文件
Doris(一) -- 简介和安装
标签云
集成商
AI
运维
CIO
存储
服务器
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表