一、Kafka简介,什么是kafka

Kafka:消息队列,缓存数据

kafka是一个分布式消息队列,流式计算中,一般用来缓存数据

在流式计算中,Kafka一般用来缓存数据,SparkStream/Flink/Storm通过消费Kafka的数据进行计算。

1)Apache Kafka是一个开源消息系统,由Scala写成。是由Apache软件基金会开发的一个开源消息系统项目。

2)Kafka最初是由LinkedIn开发,并于2011年初开源。2012年10月从Apache Incubator毕业。该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。

3)Kafka是一个分布式消息队列。Kafka对消息保存时根据Topic进行归类,发送消息者称为Producer,消息接受者称为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)成为broker。

4)无论是kafka集群,还是producer和consumer都依赖于zookeeper集群保存一些meta信息,来保证系统可用性。

二、传统的消息队列

点对点:生产者推送队列  消费者拉取消息 发送反馈 消息被删除

发布订阅:生产者推送队列  队列将消息推送给订阅的消费者 消息不会被删除

Kafka:基于订阅发布  生产者推送队列 消费者主动拉取

三、kafka组件

生产者 producer

消费者 consumer

Broker 每台kafka相当于broker

Topic 就是一个队列

partition 分区

replication副本

四、kafka写入数据流程

1. 从zookeeper找到leader

2. 将数据返回leader

3. Leader 将数据写入到本地 发送ack

4. Follower 同步数据 发送ack

五、分区规则:

1. 指定了partition,则直接使用

2. 未指定partition 但指定key,通过对key的vlaue进行hash出一个partition

3. Partition 和 key 都未指定,使用轮询选出一个partition

未指定分区

Key 不为 null  abs取绝对值

Math.abs(key.hashcode)%numberpartitions

指定分区

向指定分区写入数据

六、自定义分区器

七、数据保存

数据保存到topic中的分区中  (物理上是一个目录)

顺序写入磁盘

Index 文件

Log文件

八、数据存储策略

基于时间 :周期性的从文件末尾删除过期的数据(默认一周)7天

基于大小 : 周期性的将超过最大值的 (默认1G)数据文件重命名 生成新的文件,删除旧的文件

九:kafka命令


控制台生产者:
kafka-console-producer.sh --topic test --broker-list hadoop:9092控制台消费者:
kafka-console-consumer.sh --topic test --bootstrap-server hadoop:9092 --from-beginning主题:(topic)
创建主题
kafka-topics.sh --create --topic test --zookeeper hadoop:2181 --partitions 3 --replication-factor 3查看主题
kafka-topics.sh --describe --topic test --zookeeper hadoop:2181查看主题列表
kafka-topics.sh --list --topic test --zookeeper hadoop:2181
kafka-topics.sh --list --zookeeper hadoop:2181删除主题
kafka-topics.sh --delete --zookeeper hadoop:2181 --topic first

需要知识文档的博友请在下方留言评论......

kafka的简单概述及基本命令相关推荐

  1. 8086CPU相关汇编语言的简单概述

    8086CPU相关汇编语言的简单概述 1.寄存器 通用寄存器 8806CPU给出物理地址的方法 段寄存器 修改CS,IP的指令 2.寄存器(内存访问) 栈机制 3.[BX]和loop指令 [BX] l ...

  2. XSS漏洞简单概述--UGa

    XSS漏洞简单概述–UGa 个人笔记向,请多指点 *简介 XSS作为OWASP TOP 10之一,XSS被称为跨站脚本攻击(Cross-site scripting) ,本来应该缩写为CSS,但是由于 ...

  3. Kafka 的简单介绍

    Kafka 是由 Apache 软件基金会开发的一个开源流处理平台,由 Scala 和 Java 编写.Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据. ...

  4. SpringSecurity的简单概述以及配置SpringSecurity的默认登录页面

    SpringSecurity的简单概述 是什么:SpringSecurity融合Spring技术栈,提供JavaEE应 用的整体安全解决方案:提供全面的安全服务 有什么用:可以进行身份验证,就是证明你 ...

  5. 关于“7个好习惯”的简单概述

    Title: 关于"7个好习惯"的简单概述 Content: 同事发给的,共勉. 下面是关于"7个好习惯"的简单概述,与大家分享一下,希望对大家.对我们的团队有 ...

  6. 计算机底层:计算机层次结构(高级语言到低级语言的简单概述)

    计算机底层:计算机层次结构(高级语言到低级语言的简单概述): 操作系统可以有效地分配任务给cpu,控制硬件进行搞效率地使用等等,创造操作系统主要是为了满足两大需求:提高资源利用率.增强计算机系统性能. ...

  7. Hadoop的简单概述以及架构

    Hadoop的简单概述以及架构 1.hadoop概述:hadoop是一个适合海量数据分布式存储和分布式计算的平台. 2.hadoop是一个统称,hadoop主要包含三大组件: (1)hdfs:是一个分 ...

  8. 垃圾回收器(简单概述)

    垃圾回收器(简单概述) GC分类与性能指标 垃圾回收器概述 垃圾收集器没有在规范中进行过多的规定,可以由不同厂商.不同版本的JVM来实现. 由于JDK的版本处于高速迭代过程中,因此Java发展至今衍生 ...

  9. java虚拟机-简单概述(五月的仓颉)

    1  java的简单概述 java版本介绍 1.Java SE(标准版),主要活跃在桌面领域,主要包含了Java API组件. 2.Java EE(企业版),活跃在企业级领域,除了包含Java API ...

最新文章

  1. 二阶声波正演c语言程序_嵌入式开发中的三种程序构架
  2. binlog数据库不写入binlog_mysql 为什么不能仅仅用 binlog 保证不丢数据
  3. 三周第五次课(4月10日)
  4. 【MySQL】可重复读模式下 unique key失效案例
  5. vue 事件总线EventBus的概念、使用以及注意点
  6. CSDN:Markdown extra grammar
  7. QT绘制百分比条形图。
  8. tomcat下只有.class文件 没有java文件_解决tomcat发布工程后,WEB-INF/classes下文件不编译的问题...
  9. java 类一定要声明成public_类和对象练习题
  10. Opportunity creation case in Firebug
  11. 【CodeForces 577C】Vasya and Petya’s Game
  12. matlab保存数据到excel_Excel意外退出数据未保存?这个方法可以帮你找回所有数据...
  13. java环境变量自动设置_自动设置Java环境变量
  14. 趁618买iPhone 11还是等iPhone 12?李楠有话要说
  15. 解决KMPlayer 播放RMVB 一直是快进的问题
  16. 视频主观质量评价方法
  17. pythonopencv算法_OpenCV3-Python基于Kalman和CAMShift算法应用
  18. opencv图像像素操作方法
  19. 天堂2单机启动不了mysql_天堂2第8章单机版启动问题
  20. 大一上计算机期末试题,大一计算机期末考试试题及答案

热门文章

  1. SAP Spartacus lock focus directive如何判断有没有focusable children
  2. rxjs 里的map operator
  3. 什么是Angular的Target
  4. ABAP应用服务器的HTTP响应状态码(Status Code)
  5. SAP C4C里没有选择Port binding的url Mashup行为分析
  6. SAP UI5 Logon Handler of Frame
  7. SAP Fiori refreshSecurityToken
  8. 什么是Marketing Cloud的ABM - Account-Based Marketing
  9. 如何处理错误消息Query XXX is invalid or contains errors
  10. IBASE category 设置为01的情况下 IBASE自动创建情况