kafka总结。。。
kafka的版本信息: kafka_2.10-0.10.0.1 zookeeper-3.4.7
首先说明kafka里面的关键概念:
broker:kafka 集群中包含的服务器。 broker (经纪人,消费转发服务)
consumer:从 kafka 集群中消费消息的终端或服务
producer: 消息生产者,发布消息到 kafka 集群的终端或服务。
topic:每条发布到 kafka 集群的消息属于的类别,即 kafka 是面向 topic 的
partition:partition 是物理上的概念,每个 topic 包含一个或多个 partition。 kafka 分配的单位是partition。分区存储的好处是保证数据的分布式存储,而且也是有利于数据存储的负载均衡。分区的底层是队列的形式。
leader:replica 中的一个角色, producer 和 consumer 只跟 leader 交互。
follower:replica 中的一个角色,从 leader 中复制数据。
consumer-group:high-level consumer API 中,每个 consumer 都属于一个 consumer group,每条消息只能被
consumer group 中的一个 Consumer 消费,但可以被多个 consumer group 消费。
组间共享 ,组内竞争。
controller:kafka 集群中的其中一个服务器,用来进行 leader election 以及 各种 failover。
zookeeper:kafka 通过 zookeeper 来存储集群的 meta 信息。
replica:partition 的副本,保障 partition 的高可用。
先是启动kafka的一台broker做测试 创建新的topic one_broker_topic 副本replica 数目大于brokers的有效数据会报错的
./kafka-topics.sh --create --zookeeper mini10:2181 --replication-factor 2 --partitions 1 --topic one_broker_topic_error
报错:
./kafka-topics.sh --create --zookeeper mini10:2181 --replication-factor 1 --partitions 2 --topic one_broker_topicss 对应两个分区
在kafka存储数据的目录下面产生的文件夹:
所以说分区的数据对应在么一个broker上main都会有对应数目的文件夹 比如:
2个分区1个副本 在broker01上面就会有 topicss-0 topiss-1
3个分区,2个副本,2个broker 在broker01上面的
在broker02上面的信息:
接下来,解析一下topic和patiotin的关系,下面的两幅图来自kafka官网:官网。
图1
图2
Topic:每一条发送到kafka集群的数据都有一个topic主题,生产的每一条信息都是必须要指明到那个topic里面去,他可以看成是一个队里queue,
partition:数物理概念,每一个topic都有多个partition, 多个partition可以提高kafka的吞吐量。每一个partition物理删对应一个文件夹,在每一个文件夹下面包含一个.log文件和一个.index索引文件。
每条消息是追加到partition的末尾的,属于顺序写磁盘,所以效率会是非常的高的,这个特点保证了kafka是具有高吞吐率的性能的。
kafka和flume的区别是 ,kafka可以存储数据的,那么它存储的数据是永远存在的,但是考虑到磁盘的利用情况,kafka上面存储的数据是可以定期删除的。怎么配置呢?两种策略:一种是基于时间的,还有一种是基partition文件的大小的。分别是在$KAFKA_HOME/config/server.conf 下面配置:
log.retention.hours=168 基于一周时间
log.segment.bytes=1073741824 基于1GB大小
kafka总结。。。相关推荐
- docker安装kafka消息队列
1. 启动zookeeper容器(Zookeeper用于崩溃检测,实现Topic发现,和维护Topic的生产和消费状态) docker run -d --name zookeeper -p 2181: ...
- kafka+zookeeper搭建步骤kafka问题
kafka+zookeeper搭建步骤 帅气的名称被占用关注 0.1392018.12.04 13:48:00字数 1,007阅读 88 vmware 安装centOS7 克隆虚拟为:三台 本地你的I ...
- pykafka连接重要使用pykafka,kafka-python的api开发kafka生产者和消费者
https://pykafka.readthedocs.io/en/latest/api/producer.html 说明文档 </div><h2 class="heade ...
- dockerfile kafka
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/a2267378/article/det ...
- 2021年大数据ELK(十九):使用FileBeat采集Kafka日志到Elasticsearch
全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 使用FileBeat采集Kafka日志到Elasticsearch 一.需求分 ...
- 2021年大数据Kafka(十二):❤️Kafka配额限速机制❤️
全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Kafka配额限速机制 限制producer端的速率 限制c ...
- 2021年大数据Kafka(十一):❤️Kafka的消费者负载均衡机制和数据积压问题❤️
全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Kafka的消费者负载均衡机制和数据积压问题 一.kafka ...
- 2021年大数据Kafka(十):kafka生产者数据分发策略
全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 生产者数据分发策略 策略一:用户指定了partition 策 ...
- 2021年大数据Kafka(九):kafka消息存储及查询机制原理
全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 kafka消息存储及查询机制原理 一.Kafka数据存储机制 ...
- 2021年大数据Kafka(八):Kafka如何保证数据不丢失
全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Kafka如何保证数据不丢失 一.如何保证生产者数据不丢失 ...
最新文章
- getBytes等空指针异常
- requestAnimationFrame
- C#学习之三层架构实例
- Go的runtime.GOMAXPROCS
- ES6 开发常用新特性以及简述ES7
- Visual Studio 2017将于3月7日发布
- CentOS 7 Linux实时内核下的epoll性能分析后续 | 火焰图分析
- hog特征的matlab实现
- 如何关闭勒索病毒端口
- Java后端根据身份证号计算年龄
- ubuntu18.04 虚拟机重启后变成只读模式,怎么恢复?
- 2020计算机毕设选题推荐可视化方向,前端方向本科应届生有什么毕设选题推荐?...
- iTunes导入歌曲和铃声到iphone
- JavaScript实现下雪效果
- 场面火爆!5G+智慧灯杆融合发展论坛在北京顺利召开
- 关于Shader wants normals, but the mesh doesn't have them的问题
- 企业微信生态下的会员管理系统
- 苹果iphone 12它只是一个电话
- 京东智能供应链平台应急场景实践
- 微信小程序低功耗蓝牙
热门文章
- MULE ESB webservice jms服务
- html动画渐变效果,CSS3 transition属性实现hover渐变动画效果实例
- https之DHE keys 大小修改
- 有效使用网络学习日语
- abstract关键字的用法
- 逆流而上,瑞士加密谷企业数量在行业寒冬中增加至750家
- 【K8S系列】第六讲:Kubernetes的网络模型
- pandas处理问卷多选题【循环遍历】python
- 河北农业大学c语言课程设计2, 编程实现简单通讯录程序,2016年河北农业大学信息科学与技术学院C语言程序设计复试笔试最后押题五套卷...
- WEB前端学习:JS实现中文简体繁体切换