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总结。。。相关推荐

  1. docker安装kafka消息队列

    1. 启动zookeeper容器(Zookeeper用于崩溃检测,实现Topic发现,和维护Topic的生产和消费状态) docker run -d --name zookeeper -p 2181: ...

  2. kafka+zookeeper搭建步骤kafka问题

    kafka+zookeeper搭建步骤 帅气的名称被占用关注 0.1392018.12.04 13:48:00字数 1,007阅读 88 vmware 安装centOS7 克隆虚拟为:三台 本地你的I ...

  3. pykafka连接重要使用pykafka,kafka-python的api开发kafka生产者和消费者

    https://pykafka.readthedocs.io/en/latest/api/producer.html 说明文档 </div><h2 class="heade ...

  4. dockerfile kafka

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/a2267378/article/det ...

  5. 2021年大数据ELK(十九):使用FileBeat采集Kafka日志到Elasticsearch

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 使用FileBeat采集Kafka日志到Elasticsearch 一.需求分 ...

  6. 2021年大数据Kafka(十二):❤️Kafka配额限速机制❤️

    全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Kafka配额限速机制 限制producer端的速率 限制c ...

  7. 2021年大数据Kafka(十一):❤️Kafka的消费者负载均衡机制和数据积压问题❤️

    全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Kafka的消费者负载均衡机制和数据积压问题 一.kafka ...

  8. 2021年大数据Kafka(十):kafka生产者数据分发策略

    全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 生产者数据分发策略 策略一:用户指定了partition 策 ...

  9. 2021年大数据Kafka(九):kafka消息存储及查询机制原理

    全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 kafka消息存储及查询机制原理 一.Kafka数据存储机制 ...

  10. 2021年大数据Kafka(八):Kafka如何保证数据不丢失

    全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Kafka如何保证数据不丢失 一.如何保证生产者数据不丢失 ...

最新文章

  1. getBytes等空指针异常
  2. requestAnimationFrame
  3. C#学习之三层架构实例
  4. Go的runtime.GOMAXPROCS
  5. ES6 开发常用新特性以及简述ES7
  6. Visual Studio 2017将于3月7日发布
  7. CentOS 7 Linux实时内核下的epoll性能分析后续 | 火焰图分析
  8. hog特征的matlab实现
  9. 如何关闭勒索病毒端口
  10. Java后端根据身份证号计算年龄
  11. ubuntu18.04 虚拟机重启后变成只读模式,怎么恢复?
  12. 2020计算机毕设选题推荐可视化方向,前端方向本科应届生有什么毕设选题推荐?...
  13. iTunes导入歌曲和铃声到iphone
  14. JavaScript实现下雪效果
  15. 场面火爆!5G+智慧灯杆融合发展论坛在北京顺利召开
  16. 关于Shader wants normals, but the mesh doesn't have them的问题
  17. 企业微信生态下的会员管理系统
  18. 苹果iphone 12它只是一个电话
  19. 京东智能供应链平台应急场景实践
  20. 微信小程序低功耗蓝牙

热门文章

  1. MULE ESB webservice jms服务
  2. html动画渐变效果,CSS3 transition属性实现hover渐变动画效果实例
  3. https之DHE keys 大小修改
  4. 有效使用网络学习日语
  5. abstract关键字的用法
  6. 逆流而上,瑞士加密谷企业数量在行业寒冬中增加至750家
  7. 【K8S系列】第六讲:Kubernetes的网络模型
  8. pandas处理问卷多选题【循环遍历】python
  9. 河北农业大学c语言课程设计2, 编程实现简单通讯录程序,2016年河北农业大学信息科学与技术学院C语言程序设计复试笔试最后押题五套卷...
  10. WEB前端学习:JS实现中文简体繁体切换