kafka版本号_kafka客户端版本号对应关系 - CSDN
精华内容
参与话题
  • 1、kafka版本命名规则: 在1.x之前的版本,基本遵循4位版本号,例如:0.8.2.2、0.9.0.1、0.10.0.0... 在1.x之后,kafka 全面启用了遵循 Major.Minor.Patch 的三位版本规则,其中Major表示大版本,通常是一些重大...

    1、kafka版本命名规则:

    在1.x之前的版本,基本遵循4位版本号,例如:0.8.2.2、0.9.0.1、0.10.0.0...

    在1.x之后,kafka 全面启用了遵循 Major.Minor.Patch 的三位版本规则,其中Major表示大版本,通常是一些重大改变,因此彼此之间功能可能会不兼容;Minor表示小版本,通常是一些新功能的增加;最后Patch表示修订版,主要为修复一些重点Bug而发布的版本。例如:Kafka 2.1.1,大版本就是2,小版本是1,Patch版本为1,是为修复Bug发布的第1个版本。

    2、官网下载:

    官网下载地址:https://kafka.apache.org/downloads

    打开官网,看到如下界面:

    这里简单介绍一下,kafka_2.12中的2.12表示的scala的版本,因为Kafka服务器端代码完全由Scala语音编写。”-“后面的2.5.0表示的kafka的版本信息,遵循上面的命令规则。

    注:Kafka新版客户端代码完全由Java语言编写,当然,不是Scala不行了,而是社区找来了一批Java程序员而已,而之前的Scala程序员隐退罢了。

    3、kafka版本演进:

    Kafka总共发布了7个大版本,分别是0.7.x、0.8.x、0.9.x、0.10.x、0.11.x、1.x及2.x版本。截止目前,最新版本是Kafka 2.5.0,也是最新稳定版本。

    1)0.7版本:

    这是个“上古”版本,只提供了基础的消息队列功能,还没有提供副本机制

    2)0.8版本:

    新增了如下几个重要特性:

    1. Kafka 0.8.0,增加了副本机制,至此Kafka成为了一个真正意义上完备的分布式高可靠消息队列解决方案;
    2. Kafka 0.8.2.0,consumer 的消费偏移位置 offset 由原来的保存在 zookeeper 改为保存在 kafka 本身(afka 定义了一个系统 topic,专用用来存储偏移量的数据);
    3. Kafka 0.8.2.0,引入了新版本Producer API:新版本Producer API有点不同,一是连接Kafka方式上,旧版本的生产者及消费者API连接的是Zookeeper,而新版本则连接的是Broker;二是新版Producer采用异步批量方式发送消息,比之前同步发送消息的性能有所提升。

    新旧版本Producer API如下:

    //旧版本
    Producerkafka.javaapi.producer.Producer<K,V> 
    
    //新版本
    Producerorg.apache.kafka.clients.producer.KafkaProducer<K,V>

    注:此版本的新版本producer api还不太稳定。

    3)0.9版本:

    Kafka 0.9 是一个重大的版本迭代,增加了非常多的新特性,主要体现在三个方面:

    1. 新版本Consumer API:Kafka 0.9.0使用java重写了新版Consumer API,使用方式也是从连接Zookeeper切到了连接Broker
    2. 安全方面:在0.9.0之前,Kafka安全方面的考虑几乎为0。Kafka 0.9.0 在安全认证、授权管理、数据加密等方面都得到了支持,包括支持Kerberos等;
    3. Kafka Connect:Kafka 0.9.0 引入了新的组件 Kafka Connect ,用于实现Kafka与其他外部系统之间的数据抽取。
       

    注:此时的新版本Consumer api还不大稳定,而0.9.0版本的Producer API已经比较稳定了;

    4)0.10.x版本:

    Kafka 0.10 是一个重要的大版本,因为Kafka 0.10.0.0 引入了 Kafka Streams,使得Kafka不再仅是一个消息引擎,而是往一个分布式流处理平台方向发展。0.10 大版本包含两个小版本:0.10.1 和 0.10.2,它们的主要功能变更都是在 Kafka Streams 组件上。

    值得一提的是,自 0.10.2.2 版本起,新版本 Consumer API 已经比较稳定了,而且新版本的 Producer API 的性能也得到了提升,因此对于使用 0.10.x 大版本的用户,建议使用或升级到 Kafka 0.10.2.2 版本。

    5)0.11.x版本:

    Kafka 0.11 是一个里程碑式的大版本,主要有两个大的变更:

    1. 从这个版本开始支持Exactly-Once 语义即精准一次语义,主要是实现了Producer端的消息幂等性,以及事务特性,这对于Kafka流式处理具有非常大的意义;
    2. Kafka 0.11另一个重大变更是Kafka消息格式的重构(对用户是透明的),主要为了实现Producer幂等性与事务特性,重构了投递消息的数据结构。这一点非常值得关注,因为Kafka 0.11之后的消息格式发生了变化,所以我们要特别注意Kafka不同版本间消息格式不兼容的问题。

    注:这个版本中各个大功能组件都变得非常稳定了,应该算是目前最主流的版本之一。

    6)1.x版本:

    Kafka 1.x 更多的是Kafka Streams方面的改进,以及Kafka Connect的改进与功能完善等。但仍有两个重要特性:

    • 一是Kafka 1.0.0实现了磁盘的故障转移,当Broker的某一块磁盘损坏时数据会自动转移到其他正常的磁盘上,Broker还会正常工作,这在之前版本中则会直接导致Broker宕机,因此Kafka的可用性与可靠性得到了提升;
    • 二是Kafka 1.1.0开始支持副本跨路径迁移,分区副本可以在同一Broker不同磁盘目录间进行移动,这对于磁盘的负载均衡非常有意义。

    7)2.x版本:

    Kafka 2.x 更多的也是Kafka Streams、Connect方面的性能提升与功能完善,以及安全方面的增强等。一个使用特性,Kafka 2.1.0开始支持ZStandard的压缩方式,提升了消息的压缩比,显著减少了磁盘空间与网络io消耗。

    4、关于客户端版本:

    kafka 支持多个语言的客户端api,这里只关注 java 客户端。maven 的工程我们一般这样引入 kafka 客户端

    <dependency>
    	<groupId>org.apache.kafka</groupId>
    	<artifactId>kafka_2.11</artifactId>
    	<version>0.10.2.0</version>
    </dependency>

    这种会引入两个依赖jar,分别是

    • kafka-clients-0.10.2.0.jar
    • kafka_2.11-0.10.2.0.jar

    前者是官方推荐的java客户端,后者是scala客户端。调用方式有所不同。如果确定不使用 scala api,也可以用下面这种方式只包含java版本的客户端。

    <dependency>
    	<groupId>org.apache.kafka</groupId>
    	<artifactId>kafka-clients</artifactId>
    	<version>0.10.2.0</version>
    </dependency>

    最后,给出一些建议:

    • 遵循一个基本原则,Kafka客户端版本和服务端版本应该保持一致,否则可能会遇到一些问题。
    • 根据是否用到了Kafka的一些新特性来选择,假如要用到Kafka生产端的消息幂等性,那么建议选择Kafka 0.11 或之后的版本。
    • 选择一个自己熟悉且稳定的版本,如果说没有比较熟悉的版本,建议选择一个较新且稳定、使用比较广泛的版本。

     参考:

    https://www.jianshu.com/p/5bef1f9f74cd

    http://www.louisvv.com/archives/2348.html

    http://www.machengyu.net/tech/2019/09/22/kafka-version.html

    展开全文
  • Kafka版本号说明

    千次阅读 2020-04-29 14:06:13
    Kafka版本命名 比如我们在官网上下载 Kafka 时,会看到这样的版本: Scala 2.12 Scala 2.13 指的是编译Kafka源代码的Scala编译器版本号 Kafka现在的版本号命名规则是3位,格式是“大版本号”+“小版本号”+“修订...

    Kafka版本命名

    比如我们在官网上下载 Kafka 时,会看到这样的版本:
    在这里插入图片描述
    Scala 2.12 Scala 2.13 指的是编译Kafka源代码的Scala编译器版本号

    Kafka现在的版本号命名规则是3位,格式是“大版本号”+“小版本号”+“修订补丁数”。比如2.5.0,前面的2代表的是大版本号,中间的5代表的是小版本号,0表示没有打过补丁。

    Kafka在1.0.0版本前的命名规则是4位,但整体的命名规则类似。比如0.8.2.2,0.8是大版本号,2是小版本号,2表示打过2个补丁。

    Kafka版本演进

    0.7版本
    只提供了最基础的消息队列功能。

    0.8版本
    引入了副本机制,至此Kafka成为了一个真正意义上完备的分布式高可靠消息队列解决方案。

    0.9版本
    增加权限和认证,使用Java重写了新的consumer API,Kafka Connect功能;不建议使用consumer API;

    0.10版本
    引入Kafka Streams功能,正式升级成分布式流处理平台;建议版本0.10.2.2;建议使用新版consumer API

    0.11版本
    producer API幂等,事务API,消息格式重构;建议版本0.11.0.3;谨慎对待消息格式变化

    1.0和2.0版本
    Kafka Streams改进;建议版本2.0;

    官方文档地址:http://kafka.apache.org/downloads

    展开全文
  • Kafka版本号

    2020-01-10 20:23:22
    kafka目前总共演进了7个大版本,分别是0.7、0.8、0.9、0.11、1.0和2.01.0以前都是4位版本号,之后改为3位版本号。如今kafka已经发行到2.3.0版本了Scala 2.11代表的是Scala编译器的版本 0.7v 只有基本的消息队列...

    kafka目前总共演进了7个大版本,分别是0.7、0.8、0.9、0.11、1.0和2.0
    1.0以前都是4位版本号,之后改为3位版本号。如今kafka已经发行到2.3.0版本了


    Scala 2.11代表的是Scala编译器的版本


    1. 0.7v
      1. 只有基本的消息队列功能,不包含副本机制
    2. 0.8v
      1. 引入了副本机制,正式进化为高可用的分布式消息队列解决方案。0.8.2.0之前的客户端API需要制定zookeeper地址,而不是broker地址。
      2. producerAPI默认使用同步方式发送消息,异步可能会出现丢失消息的情况。建议升级到0.8.2.2
    3. 0.9v
      1. 2015年发布的0.9.0.0版本,增加了基础安全认证和权限功能
      2. 使用Java重写了消费者客户端(但存在很多BUG
    4. 0.10v
      1. 主要变更都是在kafka Streams组件上
    5. 0.11v
      1. 引入幂等性producerAPI和事务API
      2. 对kafka消息格式重构
      3. 这个版本各个组件都非常稳定了。建议使用0.11.0.3,这个是国内最主流的版本。
    展开全文
  • 查看kafka版本

    万次阅读 2019-01-13 10:43:22
    kafka没有提供version命令,不确定是否有方便的方法,但你可以进入kafka/libs文件夹。你应该看到像kafka_2.10-0.8.2-beta.jar这样的文件,其中2.10是Scala版本,0.8.2-beta是Kafka版本。...

    kafka没有提供version命令,不确定是否有方便的方法,但你可以进入kafka/libs文件夹。你应该看到像kafka_2.10-0.8.2-beta.jar这样的文件,其中2.10是Scala版本,0.8.2-beta是Kafka版本。

    展开全文
  • kafka版本命名 Kafka服务端的代码完全由Scala语言编写, Scala同时支持面向对象编程和函数式编程,用Scala写成的源代码编译之后也是普通的".class"文件。 事实上 目前KJava新推出的很多功能都在不断向Scala语言...
  • 如何查看已安装的Kafka版本信息

    万次阅读 2019-05-26 09:51:40
    Kafka安装:https://blog.csdn.net/qq_15267341/article/details/90144607 ...find ./libs/ -name \*kafka_\* | head -1 | grep -o '\kafka[^\n]*' FR:徐海涛(hunk Xu) QQ技术交流群:386476712 ...
  • 查看kafka版本

    万次阅读 2015-12-18 11:29:31
    查看kafka中libs包中jar文件的版本号即可 http://stackoverflow.com/questions/27606065/how-to-find-the-kafka-version-in-linux
  • org.apache.kafka.common.KafkaException: Failed to construct kafka consumer at org.apache.kafka.clients.consumer.KafkaConsumer.&amp;amp;lt;init&amp;amp;gt;(KafkaConsumer.java:79...
  • Spring-Kafka 2.1.0.RELEASE JDK 1.8.0_144 Maven 3.5.0 前言 编写程序时,一定要注意版本之间的兼容问题.如果不想关注这些,那么就全都用最新的就好了. 由于我用IDEA创建springboot项目的时候,用的springboot版本是...
  • spring官方描述的spring-kafka版本kafka-clients的版本对应关系: 官方地址:https://spring.io/projects/spring-kafka 中间列:“Spring Integration for Apache Kafka Version 可忽略不看: 也就是说spring-...
  • 1. kafka版本号介绍 kafka版本号介绍,例如:kafka-2.12-2.1.0 前面的2.12 代表scala编译的版本号 后面的2.1.0 代表kafka的版本号,大版本号+小版本号+修订版本号 2.kafka对应jdk版本号 支持 Java 11,最小版本jdk8...
  • kafka版本不匹配问题

    千次阅读 2017-11-01 17:20:49
    最近开发spark+kafka项目但是却遇到了很多的坑,比如Exception in thread "main" java.lang.ClassCastException: kafka.cluster.BrokerEndPoint cannot be cast to kafka.cluster.Broker这个问题比较坑,突然间一看...
  • 七、Kafka版本的选择

    千次阅读 2019-10-04 14:07:04
    一、Kafka版本命名: 当前 Apache Kafka 已经迭代到 2.3版本。但是我对Kafka 的版本命名理解存在歧义。今天特此学习一下。 比如我们在官网上下载 Kafka 时,会看到这样的版本: 难道 Kafka 版本号不是 2.11 或 ...
  • 上周刚刚欢天喜地的在linux上部了kafka,这周打算用spring-boot框架写个简单demo跑一下,结果悲剧就此展开。 首先建立maven工程:pom中添加spring boot kafka依赖: <?xml version="1.0" encoding="UTF-8"?...
  • 最近我们向Flink社区贡献了一个全新的Kafka连接器(https://github.com/apache/flink/pull/6703),关联JIRA issue FLINK-9697。它包含了近6000行代码变更,经历了社区近100次的review讨论与评论。这一大特性即将会...
  • kafka报错

    万次阅读 2017-04-11 15:46:48
    1.Error while executing topic command : replication factor: 1 larger than available brokers: 0 17/04/06 09:47:15 ERROR admin.TopicCommand$: kafka.admin.AdminOperationException: replication factor: 1
  • wurstmeister/kafka是镜像市场上很受欢迎的一个kafka镜像,今天来聊聊它的多种用法
  • Kafka的坑: 消费者无法消费消息

    万次阅读 2020-10-21 14:52:08
    问题:今天使用Kafka做一个小DEMO,但运行的时候,可以在控制台上看到生产者发送的消息,无法看到消费者在消费消息,但通过命令行可以看到消费者消费的消息。 生产者应该是没有问题的,给出消费者的代码: /** * ...
  • kafka管理器kafka-manager部署安装

    万次阅读 2016-01-19 16:51:34
    功能为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager。这个管理工具可以很容易地发现分布在集群中的哪些topic分布不均匀,或者是分区在整个集群...
  • Centos下kafka 单机配置部署详解

    万次阅读 2016-05-15 14:44:14
    前提:Linux版本:CentOS release 6.6 (Final) JDK版本:jdk-7u71-linux-x64.tar.gz ...kafka版本:kafka_2.11-0.9.0.1.tgz1、安装JDK步骤1:新建路径/usr/java, 并在其下解压 jdk-7u71-linux-x64.tar.gzmkdir
1 2 3 4 5 ... 20
收藏数 15,436
精华内容 6,174
关键字:

kafka版本号