分享

Kafka 2.0.0版本新增改变了哪些功能详细

pig2 2018-8-2 16:38:38 发表于 介绍解说 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 26703
问题导读
1.offset保留时间默认原先从一天改为几天时间?
2.https是哪个参数的值?
3.统计kafka2.0中修改了哪些属性?



获取最新文章,学习资源,可以关注公众号



1.KIP-186将默认offset保留时间从1天增加到7天。 这使得在不经常提交的应用程序中“丢失”偏移的可能性降低。 它还会增加有效的偏移量,因此可以增加broker的内存使用量。 请注意,请注意,控制台消费者当前默认启用offset 提交,并且可以是大量offset源【由于改为保存7天】。你可以通过设置broker 配置offsets.retention.minutes为1440来保留现有方式。

2.已经不在支持Java 7,Java 8现在是所需的最低版本。

3.ssl.endpoint.identification.algorithm默认值改为https(可以执行主机名验证,否则可能是中间人攻击)。设置ssl.endpoint.identification.algorithm为空字符串恢复以前行为【禁用】。

4.KAFKA-5674max.connections.per.ip minimum的下限延长为零,因此允许对入站连接进行基于IP的过滤。

5.KIP-272 将API版本标记添加到metric kafka.network:type=RequestMetrics,name=RequestsPerSec,request={Produce|FetchConsumer|FetchFollower|...}这个metric 现在变成kafka.network:type=RequestMetrics,name=RequestsPerSec,request={Produce|FetchConsumer|FetchFollower|...},version={0|1|2|3|...}这将影响不自动聚合的JMX监视工具。 要获取特定请求类型的总计数,需要更新该工具以跨不同版本进行聚合。

6.KIP-225 将度量标准“records.lag”更改为使用topic 和partition标记。 原始版本名称格式为“{topic} - {partition} .records-lag”已被删除。

7. Scala consumers自从 0.11.0.0被弃用删除,从 0.10.0.0 Java consumer被推荐。注意:Scala consumers 在1.1.0 (和更早)可以继续使用,即使broker升级到2.0.0.Scala producer从 0.10.0.0被弃用,删除。Java producer从0.9.0.0被推荐。注意:Java producer 默认分区行为与 Scala producers默认分区行为是不同的。用户迁移需要考虑自定义分区的配置保留原先的行为。注意Scala producers in 1.1.0 (和更早)可以继续使用,即使broker升级到2.0.0.

8.MirrorMaker 和ConsoleConsumer 不在支持Scala consumer,他们使用 Java consumer.

9.ConsoleProducer不在支持Scala producer, 他们使用Java producer.

10.已删除了许多依赖于Scala客户端的弃用工具:ReplayLogProducer,SimpleConsumerPerformance,SimpleConsumerShell,ExportZkOffsets,ImportZkOffsets,UpdateOffsetsInZK,VerifyConsumerRebalance。

11.弃用kafka.tools.ProducerPerformance 已经被删除,请使用 org.apache.kafka.tools.ProducerPerformance.

12.添加了新的Kafka Streams配置参数upgrade.from,允许从旧版本滚动升级。

13.KIP-284 改变 Kafka Stream topics的保留时间,通过 Long.MAX_VALUE设置它的默认值。

14.更新了Kafka Streams中的ProcessorStateManager API,用于将状态存储注册到处理器拓扑(processor topology)。 有关更多详细信息,请阅读Streams升级指南

15.在早期版本中,Connect的worker配置需要internal.key.converter和internal.value.converter属性。 在2.0中,不再需要这些,并且默认为JSON转换器。 您可以安全地从Connect独立和分布式worker配置中删除这些属性:

internal.key.converter=org.apache.kafka.connect.json.JsonConverter
internal.key.converter.schemas.enable=false
internal.value.converter=org.apache.kafka.connect.json.JsonConverter
internal.value.converter.schemas.enable=false


16.KIP-266添加了一个新的consumer配置default.api.timeout.ms,以指定可用于阻止的KafkaConsumer API的默认超时。 KIP还为这样的阻塞API添加了重载,以支持指定每个阻塞API使用的特定超时,而不是使用default.api.timeout.ms设置的默认超时。 特别是,添加了一个新的轮询(持续时间)API,它不会阻止动态分区分配。 旧的poll(long)API已被弃用,将在以后的版本中删除。 还为其他KafkaConsumer方法添加了重载,例如partitionsFor,listTopics,offsetsForTimes,beginningOffsets,endOffsets和close

17.作为KIP-266的一部分,request.timeout.ms的默认值已更改为30秒。 之前的值略高于5分钟,以说明重新平衡所需的最长时间。 现在我们将rebalance中的JoinGroup请求视为一种特殊情况,并使用从max.poll.interval.ms派生的值来表示请求超时。 所有其他请求类型都使用request.timeout.ms定义的超时

18.内部方法kafka.admin.AdminClient.deleteRecordsBefore已被删除。 建议用户迁移到org.apache.kafka.clients.admin.AdminClient.deleteRecords

19.AclCommand工具--producer便利选项在给定topic上使用KIP-277更细粒度的ACL。

20.KIP-176 为所有基于消费者的工具删除了--new-consumer选项。 此选项是多余的,因为如果定义了--bootstrap-server,则会自动使用新的使用者。

21.KIP-290 增加了在前缀资源上定义ACL的功能,例如: 任何以'foo'开头的主题。


22.KIP-283 改进了Kafka broker上的消息下转换处理,这通常是一个内存密集型操作。 KIP添加了一种机制,通过该机制,通过一次下转换分区数据块来减少内存消耗,这有助于在内存消耗上设置上限。 通过这种改进,FetchResponse协议行为发生了变化,其中broker可以在响应结束时使用无效偏移量发送超大消息批量。 消费者客户必须忽略这种超大消息,就像KafkaConsumer所做的那样。
KIP-283还分别添加了新的topic 和broker配置message.downconversion.enable和log.message.downconversion.enable来控制是否启用了下转换。 禁用时,代理不执行任何向下转换,而是向客户端发送UNSUPPORTED_VERSION错误。.

23.在启动broker之前,可以使用kafka-configs.sh将动态broker配置选项存储在ZooKeeper中。 此选项可用于避免在server.properties中存储明确的密码,因为所有密码配置都可以加密存储在ZooKeeper中。

24.如果连接尝试失败,ZooKeeper主机现在会重新解析。 但是,如果ZooKeeper主机名解析为多个地址,而其中一些地址无法访问,则可能需要增加连接超时zookeeper.connection.timeout.ms








本帖被以下淘专辑推荐:

已有(2)人评论

跳转到指定楼层
camellibby 发表于 2018-8-6 10:06:42
更新得好快啊,1.x还没有完全熟悉
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条