Kafka - 2.7.0版本发布说明

原创
半兽人 发表于: 2020-12-22   最后更新时间: 2021-08-18 11:09:05  
{{totalSubscript}} 订阅, 3,695 游览

2020年12月21日,Kafka 2.7.0发布。

以下是Kafka 2.7.0版本中解决JIRA问题的摘要,有关该版本的完整文档,入门指南以及关于该项目的信息,请参考Kafka官方文档,或kafka中文教程

有关升级的注意事项:在升级你的集群之前,请仔细阅读此版本的升级文档。升级有关不兼容性和破坏性的变更,性能变化以及可能影响Kakfa生产的任何其他变化。

Kafka 2.7.0包含许多重要的新功能。以下是一些重要更改的摘要:

  • TCP连接超时可配置和改善初始元数据的获取。
  • 增强broker范围和每个listener的连接创建比率(KIP-612,第1部分)
  • 限流创建topic、创建分区和删除topic操作。
  • 将TRACE级别的端到端延迟指标添加到Streams。
  • 添加broker端SCRAM配置API
  • 支持PEM格式的SSL证书和私钥。
  • 将RocksDB内存消耗添加到RocksDB指标中。
  • 添加对聚合的滑动窗口支持

新功能

[KAFKA-9893] -可配置的TCP连接超时和改进初始元数据的获取。
[KAFKA-9915] - 节流创建主题、创建分区和删除主题的操作。
[KAFKA-10054] -Streams中增加TRACE级别的端到端延迟指标。
[KAFKA-10259] - KIP-554:添加brokerSCRAM配置API[KAFKA-10338] - 支持SSL证书和私钥的PEM格式。

改进

[KAFKA-5636] - 增加对聚合的滑动窗口支持。
[KAFKA-6585] - 合并reset工具上重复的逻辑。
[KAFKA-6733] - 支持在DefaultMessageFormatter中打印额外的ConsumerRecord字段。
[KAFKA-7334] - 建议在出现FileNotFoundException的情况下修改state.dir的配置。
[KAFKA-8360] - 文档中没有提到RequestQueueSize JMX指标。
[KAFKA-8836] - 增加broker之间的协议,以改变ISR。
[KAFKA-9018] - Kafka Connect - 在序列化错误时抛出更清晰的异常。
[KAFKA-9076] - MirrorMaker 2.0自动消费抵消同步器
[KAFKA-9194] - 缺少关于 replicaMaxWaitTimeMs 配置值的文档。
[KAFKA-9439] - 为KafkaProducer增加更多公共API测试。
[KAFKA-9450] - 解除内部状态刷新与提交的关系。
[KAFKA-9587] - 文件中省略了生产者配置。
[KAFKA-9924] - 将RocksDB内存消耗添加到RocksDB指标中
[KAFKA-9929] - 支持WindowStore的反向迭代器。
[KAFKA-10002] - 改善StopReplicaRequest在有大量分区需要删除时的性能。
[NAFKA-10020] - KIP-616:重新命名kafka-streams-scala中隐含的Serdes实例。
[KAFKA-10023] - 强制执行全经纪人和每个听众的连接创建率(KIP-612,第1部分)
[KAFKA-10033] - 如果修改不存在的主题的配置,AdminClient应该抛出UnknownTopicOrPartitionException而不是UnknownServerException。
[KAFKA-10035] - 改进AbstractResetIntegrationTest。
[KAFKA-10040] - 使PreferredReplicaImbalanceCount指标的计算更加高效。
[KAFKA-10098] - 删除SaslAuthenticatorTest.java中正则表达式中不必要的转义。
[KAFKA-10106] - 处理LeaderAndIsr请求所需时间的日志。
[KAFKA-10122] - 消费者在再平衡期间也应允许心跳。
[KAFKA-10126] - 废弃ConsumerPerformance中未使用的选项。
[KAFKA-10131] - 在测试中尽量减少使用`--zookeeper`标志。
[KAFKA-10135] - 将任务`#executeAndMaybeSwallow`提取为通用工具函数到任务管理器中。
[KAFKA-10141] - 在删除记录段信息中增加更多细节
[KAFKA-10143] - 增加集成测试,确保重新分配工具能够在重新平衡过程中改变复制配额。
[KAFKA-10168] - 重命名公共StreamsConfig变量。
[KAFKA-10205] - StreamTask中的NullPointer异常
[KAFKA-10211] - 添加DirectoryConfigProvider
[KAFKA-10225] - 增加系统测试的默认zk会话超时时间。
[KAFKA-10232] - MirrorMaker2内部话题格式化
[NAFKA-10277] - 放宽对KStream-GlobalKTable连接的非空键要求。
[KAFKA-10279] - 允许动态更新证书,并添加额外的SubjectAltNames。
[KAFKA-10305] - 当ConsumerPerformance解析失败时,打印的使用情况
[KAFKA-10316] - 考虑为交互式查询的getter方法重新命名。
[KAFKA-10355] - 将意外删除源主题作为特殊故障处理。
[KAFKA-10367] - 允许使用配置文件运行流演示应用。
[KAFKA-10403] - 在生成MBeans属性时,用java集合代替scala集合。
[KAFKA-10407] - 在KafkaLog4jAppender中添加linger.ms参数支持。
[KAFKA-10418] - 当通过kafka-topics用--bootstrap-server修改topic配置时,出现不完整的错误/文件。
[KAFKA-10458] - 需要一种方法来更新用传感器注册的TokenBucket的配额。
[KAFKA-10459] - 文档IQ APIs,订单在商店之间不存在。
[KAFKA-10478] - advertised.listeners应该允许重复的端口。
[KAFKA-10494] - Streams: enableSendingOldValues如果节点本身是物质化的,就不应该调用父节点。
[KAFKA-10503] - MockProducer在主题没有分区时不会抛出ClassCastException异常
[KAFKA-10509] - 增加指标来跟踪因达到连接速率配额而导致的节流时间。
[KAFKA-10521] - 撤销ZK手表,以完成分区重新分配。
[KAFKA-10584] - IndexSearchType应该使用sealed trait而不是Enumeration。
[KAFKA-10611] - 合并日志错误,避免双重错误。
[KAFKA-10801] - 关于配置的文件有多处使用相同的HTML锚标签。
[KAFKA-10802] - 启动消费者时的虚假日志信息

Bug

[KAFKA-6078] - 调查ReassignPartitionsClusterTest.shouldExpandCluster的失败。
[KAFKA-7970] - 缺少topic导致服务无异常关闭。
[KAFKA-8033] - 片段测试 PlaintextConsumerTest#testFetchInvalidOffset
[KAFKA-8098] - 片段测试 AdminClientIntegrationTest#testConsumerGroups
[KAFKA-8264] - 片段测试 PlaintextConsumerTest#testLowMaxFetchSizeForRequestAndPartition
[KAFKA-8334] - 偶尔出现的OffsetCommit超时现象
[KAFKA-8362] - 在日志目录之间移动分区后,LogCleaner卡住了。
[KAFKA-8630] - 使用WindowStore对流处理器进行单元测试时,会产生一个ClassCastException。
[KAFKA-9066] - Kafka Connect JMX:source & sink 任务指标缺失,任务处于失败状态。
[KAFKA-9381] - Javadocs + Scaladocs未在maven central上发布。
[KAFKA-9514] - 协议生成器在某一字段为空时产生无用条件,并使用灵活的版本。
[KAFKA-9516] - 片段测试PlaintextProducerSendTest#testNonBlockingProducer
[KAFKA-9584] - 删除头文件导致ConcurrentModificationException(并发修改异常)
[KAFKA-9666] - 事务生产者的Epoch无法重置
[KAFKA-9769] - ReplicaManager Partition.makeFollower 发生 ZooKeeper 断线时,会增加 LeaderEpoch。
[KAFKA-9845] - plugin.path属性不能与config provider一起工作。
[KAFKA-10014] - 总是尝试关闭Selector#close中的所有通道。
[KAFKA-10048] - 当使用MM2时,消费者在故障切换后可能会出现数据缺口。
[KAFKA-10079] - 改进有状态任务的线程级粘性。
[KAFKA-10109] - kafka-acls.sh/AclCommand打开多个AdminClients。
[KAFKA-10120] - DescribeLogDirsResult暴露了内部类
[KAFKA-10133] - 不能用MM2压缩目标集群中的信息。
[KAFKA-10134] - 升级到2.5后,Kafka消费者的再平衡过程中CPU偏高问题。
[KAFKA-10140] - 增量配置api不包括插件配置的变化。
[KAFKA-10147] - MockAdminClient#describeConfigs(Collection)无法处理broker资源。
[KAFKA-10158] - 修复kafka.admin.TopicCommandWithAdminClientTest#testDescribeUnderReplicatedPartitionsWhenReassignmentIsInProgress片段。
[KAFKA-10160] - Kafka MM2消费者配置。
[KAFKA-10179] - State Store将错误的Changelog主题传递给Serde以优化源表。
[KAFKA-10180] - TLSv1.3系统测试不能在Java 8下运行。
[KAFKA-10188] - 任务停止后,Sink任务的preCommit方法被调用。
[KAFKA-10189] - 重置度量EventQueueTimeMs。
[KAFKA-10192] - 片段测试BlockingConnectorTest#testBlockInConnectorStop
[KAFKA-10193] - 增加对有回调的控制器事件的抢占功能
[KAFKA-10200] - MockProcessorContext不能与WindowStores一起使用。
[KAFKA-10215] - MockProcessorContext不能与SessionStores一起使用。
[KAFKA-10218] - DistributedHerder的canReadConfigs字段从未被重置为true。
[KAFKA-10220] - 描述资源时出现NPE。
[KAFKA-10224] - 关于jersey的license术语不正确。
[KAFKA-10235] - 修复transaction_test.py片段。
[KAFKA-10240] - Sink任务在关闭时不应该抛出WakeupException。
[KAFKA-10243] - 在处理连接设置超时时,出现ConcurrentModificationException(并发修改异常)。
[KAFKA-10268] - "--delete-config log.retain.ms"这样的动态配置无法使用。
[KAFKA-10271] - 从单个分区中获取密钥时的性能回归。
[KAFKA-10272] - kafka-server-stop.sh在`IBM i`上失效
[KAFKA-10282] - 如果日志被删除并重新创建的速度足够快,则日志指标将被删除。
[KAFKA-10284] - 因静态成员重新加入而导致的群组成员资格更新应坚持下去。
[KAFKA-10300] - 修正了core/group_mode_transactions_test.py的片断。
[KAFKA-10312] - 当MetadataCache中不存在分区leader时,MetadataCache.getPartitionMetadata可能会返回错误代码。
[KAFKA-10314] - 当离线日志目录存在时,重新分配时出现KafkaStorageException。
[KAFKA-10321] - 在JDK11上,shouldDieOnInvalidOffsetExceptionDuringStartup会永远阻塞。
[KAFKA-10326] - 序列化器和反序列化器都应该能够看到生成的客户端ID
[KAFKA-10332] - 如果远程topic是先创建的,MirrorMaker2无法检测到topic。
[KAFKA-10340] - 当源连接器试图为不存在的主题生成记录时,应报告错误,而不是永远挂起。
[KAFKA-10362] - 当使用EOS恢复流活动任务时,应删除检查点文件。
[KAFKA-10384] - 将转换器与生成的信息分开
[KAFKA-10387] - 不能将SMT配置与使用`topic.create.*`属性的源连接器一起纳入。
[KAFKA-10391] - Streams应该覆盖checkpoint,不包括损坏的分区。
[KAFKA-10395] - TopologyTestDriver不能与动态topic路由一起工作。
[KAFKA-10401] - GroupMetadataManager忽略GROUP_METADATA_VALUE_SCHEMA_V3的current_state_timestamp字段。
[KAFKA-10426] - KafkaConfigBackingStore中的死锁。
[KAFKA-10439] - Connect的Values类对于大于64位的整数会失去精度。
[KAFKA-10454] - 当流`<>`表连接分区不匹配时,Kafka流卡在无限的REBALANCING循环中卡住了。
[KAFKA-10455] - 不保证非leader成员会触发探查再平衡。
[KAFKA-10463] - Dockerfile中必要的实用程序应该包括git
[KAFKA-10477] - 当Sink Connector试图将空键的Kafka记录转换为连接记录时,出现DataException异常,导致失败
[KAFKA-10479] - 如果用户试图更新现有监听器的配置,将产生异常。
[KAFKA-10502] - 线程本地不能设置null,因为可能会造成内存泄漏
[KAFKA-10515] - NPE:如果应用程序是分布式的,外键连接SERDE可能无法用默认的SERDE初始化。
[KAFKA-10520] - 如果最不加载的节点还没有准备好发送,InitProducerId可能会被阻止。
[KAFKA-10531] - KafkaBasedLog可以在负值时休眠。
[KAFKA-10557] - 在描述topic配置时缺少文档,包括文档。
[KAFKA-10559] - 在内部topic验证过程中,当出现TimeoutException时,不要关闭整个应用。
[KAFKA-10564] - 持续记录删除过期状态目录的情况
[KAFKA-10574] - SimpleHeaderConverter和Values类的无限循环。
[KAFKA-10598] - KafkaStreams报告IQ不合适的错误信息。
[KAFKA-10600] - 如果连接器没有定义属性,连接会在验证结果中为属性添加错误信息
[KAFKA-10602] - DLQ Reporter在从不同线程报告时抛出NPE。
[KAFKA-10606] - 当获取所有主题的元数据时,自动创建不存在的主题。
[KAFKA-10613] - 如果列表偏移请求版本小于4,则经纪商不应该设置领导者时间。
[KAFKA-10616] - StreamThread被 "IllegalStateException: "IllegalStateException: The processor is already closed"
[KAFKA-10631] - 在Offest提交时没有处理ProducerFencedException异常
[KAFKA-10638] - QueryableStateIntegrationTest因更严格的存储检查而失败。
[KAFKA-10647] - 只有当消费者协议版本>=0时,才会序列化拥有的分区。
[KAFKA-10240] - Sink任务在关闭时不应该抛出WakeupException。
[KAFKA-10243] - 在处理连接设置超时时,出现并发修改异常。
[KAFKA-10268] - "--delete-config log.retain.ms "这样的动态配置无法使用。
[KAFKA-10271] - 从单个分区中获取密钥时的性能回归。
[KAFKA-10272] - kafka-server-stop.sh在IBM i上失效
[KAFKA-10282] - 如果日志被删除并重新创建的速度足够快,则日志指标将被删除。
[KAFKA-10284] - 因静态成员重新加入而导致的群组成员资格更新应坚持下去。
[KAFKA-10300] - 修正了核心/group_mode_transactions_test.py的片断。
[KAFKA-10312] - 当MetadataCache中不存在分区领导时,MetadataCache.getPartitionMetadata可能会返回错误代码。
[KAFKA-10314] - 当离线日志目录存在时,重新分配时出现KafkaStorageException。
[KAFKA-10321] - 在JDK11上,shouldDieOnInvalidOffsetExceptionDuringStartup会永远阻塞。
[KAFKA-10326] - 序列化器和反序列化器都应该能够看到生成的客户端ID
[KAFKA-10332] - 如果远程话题是先创建的,MirrorMaker2无法检测到话题。
[KAFKA-10340] - 当源连接器试图为不存在的主题生成记录时,应报告错误,而不是永远挂起。
[KAFKA-10362] - 当使用EOS恢复流活动任务时,应删除检查点文件。
[KAFKA-10384] - 将转换器与生成的信息分开
[KAFKA-10387] - 不能将SMT配置与使用`topic.create.*`属性的源连接器一起纳入。
[KAFKA-10391] - 流应该覆盖检查点,不包括损坏的分区。
[KAFKA-10651] - 分配人报告未初始化任务的偏移量。
[KAFKA-10664] - Streams未能覆盖损坏的偏移量,导致无限的OffsetOutOfRangeException循环。
[KAFKA-10687] - 生产请求应增加新的错误代码 "PRODUCE_FENCED"。
[KAFKA-10755] - 在计算下一次提交时间戳时,应考虑提交延迟。
[KAFKA-10758] - Kafka流在添加新主题时,从模式中消耗的数据会进入PENDING_SHUTDOWN状态。
[KAFKA-10799] - AlterIsr路径不更新shrink/expand meters。
[KAFKA-10811] - 系统退出MirrorConnectorsIntegrationTest#testReplication。
[KAFKA-10813] - StreamsProducer应该捕捉InvalidProducerEpoch并在所有情况下抛出TaskMigrated。

任务

[KAFKA-10068] - 验证大型集群和拓扑结构下HighAvailabilityTaskAssignor的性能。
[KAFKA-10084] - 系统测试失败。StreamsEosTest.test_failure_and_recovery_complex[KAFKA-10153] - 连接文档中的错误报告
[KAFKA-10341] - 在流和系统测试中增加2.6版。
[KAFKA-10456] - kafka-console-producer.sh帮助中的错误描述。
[KAFKA-10556] - 如果无法识别sasl.mechanism
[KAFKA-10592] - python3合并后系统测试无法运行。
[KAFKA-10669] - ListOffsetRequest:使CurrentLeaderEpoch字段不可忽略,并将MaxNumOffsets字段设置为1。

测试

[KAFKA-9273] - 重构AbstractJoinIntegrationTest和子类。
[KAFKA-9943] - 在系统测试中启用TLSv.1.3的 "run all"执行。
[KAFKA-10191] - 修复StreamsOptimizedTest[KAFKA-10255] - 修复testOneWayReplicationWithAutorOffsetSync1测试。
[KAFKA-10286] - 连接系统测试应等待workers加入分组。
[KAFKA-10295] - ConnectDistributedTest.test_bounce应该等待优雅的停止。
[KAFKA-10351] -GlobalStateManagerImpl增加缺失的IOExceptions测试。
[KAFKA-10404] - 测试kafka.api.SaslSslConsumerTest.testCoordinatorFailover

子任务

[KAFKA-9432] - 用自动协议取代DescribeConfigs请求/响应。
[KAFKA-9434] - 用自动协议取代AlterReplicaLogDirs的请求/响应。
[KAFKA-9627] - 用自动协议取代ListOffset请求/响应。
[KAFKA-9629] - 用自动协议取代 Fetch 请求/响应。
[KAFKA-9911] - 实现新的生产者fenced错误。
[KAFKA-10027] - 实现功能版本控制方案的读取路径
[KAFKA-10028] - 实现功能版本控制方案的写入路径
[KAFKA-10042] - 使INVALID_PRODUCER_EPOCH可从Produce响应中中止。
[KAFKA-10163] - 实现broker方面的变更。
[KAFKA-10164] - 实现Admin方的变更。
[KAFKA-10174] - 首选 `--bootstrap-server` ducktape测试中使用kafka_configs.sh。
[KAFKA-10213] - 在Kafka客户端的ducktape测试中首选`--bootstrap-server`。
[KAFKA-10258] - 去掉kafka.py中的use_zk_connection标志。
[KAFKA-10261] - 采用带垫片的KIP-478处理器
[KAFKA-10270] - 在控制器通道管理器中添加一个broker,以重定向AlterConfig。
[KAFKA-10308] - 修复core/round_trip_fault_test.py代码片段。
[KAFKA-10319] - 修复主线上未知的偏移量和。
[KAFKA-10379] - 实现KIP-478 StreamBuilder#addGlobalStore()
[KAFKA-10435] - 获取KIP-595的协议变更。
[KAFKA-10437] - KIP-478:实现测试工具的变更。
[KAFKA-10447] - 将工具模块迁移到JUnit 5。
[KAFKA-10516] - 执行主题命令的变更。
[KAFKA-10535] - KIP-478:实施StateStoreContext和记录
[KAFKA-10536] - KIP-478:执行KStream的变更。
[KAFKA-10562] - KIP-478:将存储包装器委托给新的init方法。
[KAFKA-10570] - 为KIP-629重新命名JMXReporter配置。
[KAFKA-10571] - 将KIP-629的停电事件改为退电事件。
[KAFKA-10572] - 为KIP-629重新命名MirrorMaker 2黑名单配置。
[KAFKA-10573] - 为KIP-629重新命名连接变换配置。
[KAFKA-10599] - 为功能版本系统实施基本的CLI工具。
[KAFKA-10605] - KIP-478:取消被替换的处理器API成员。
更新于 2021-08-18

您好我有一个问题想请教一下, 刚接触kafka, 每次重新启动Kafka时都会报空指针错误, 想请教一下, 谢谢

[2020-12-25 11:20:22,272] INFO Completed load of log __consumer_offsets-45 with log end offset 0 (kafka.log.Log)
[2020-12-25 11:20:22,283] WARN Error when freeing index buffer (kafka.log.OffsetIndex)
java.lang.NullPointerException
        at kafka.log.OffsetIndex.kafka$log$OffsetIndex$$forceUnmap(OffsetIndex.scala:310)
        at kafka.log.OffsetIndex$$anonfun$resize$1.apply(OffsetIndex.scala:292)
        at kafka.log.OffsetIndex$$anonfun$resize$1.apply(OffsetIndex.scala:285)
        at kafka.utils.CoreUtils$.inLock(CoreUtils.scala:231)
        at kafka.log.OffsetIndex.resize(OffsetIndex.scala:285)
        at kafka.log.Log.loadSegments(Log.scala:245)
        at kafka.log.Log.(Log.scala:101)
        at kafka.log.LogManager$$anonfun$loadLogs$2$$anonfun$3$$anonfun$apply$10$$anonfun$apply$1.apply$mcV$sp(LogManager.scala:152)
        at kafka.utils.CoreUtils$$anon$1.run(CoreUtils.scala:56)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

缓存和索引不匹配,你是不是没有优雅停机,不过是警告,可以忽视。
https://www.orchome.com/32

我是spring集成kafka, 关闭的时候都是直接将项目关闭, 我该如何优化的关闭呢? 我看您给的连接中有controlled.shutdown.enable=true这个配置, 我把这个放入server.properties配置文件中还是会出现这个问题

还出现了一个新问题, 这个问题一出来就kafka就直接停止了

[2020-12-25 15:54:03,267] FATAL [Replica Manager on Broker 0]: Error writing to highwatermark file:  (kafka.server.ReplicaManager)
java.nio.file.FileAlreadyExistsException: C:\kafka_2.11-0.10.0.1\tmp\kafka-logs\replication-offset-checkpoint.tmp -&gt; C:\kafka_2.11-0.10.0.1\tmp\kafka-logs\replication-offset-checkpoint
        at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:81)
        at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
        at sun.nio.fs.WindowsFileCopy.move(WindowsFileCopy.java:387)
        at sun.nio.fs.WindowsFileSystemProvider.move(WindowsFileSystemProvider.java:287)
        at java.nio.file.Files.move(Files.java:1347)
        at org.apache.kafka.common.utils.Utils.atomicMoveWithFallback(Utils.java:670)
        at kafka.server.OffsetCheckpoint.write(OffsetCheckpoint.scala:74)
        at kafka.server.ReplicaManager$$anonfun$checkpointHighWatermarks$2.apply(ReplicaManager.scala:889)
        at kafka.server.ReplicaManager$$anonfun$checkpointHighWatermarks$2.apply(ReplicaManager.scala:886)
        at scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(TraversableLike.scala:733)
        at scala.collection.immutable.Map$Map1.foreach(Map.scala:116)
        at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:732)
        at kafka.server.ReplicaManager.checkpointHighWatermarks(ReplicaManager.scala:886)
        at kafka.server.ReplicaManager$$anonfun$1.apply$mcV$sp(ReplicaManager.scala:163)
        at kafka.utils.KafkaScheduler$$anonfun$1.apply$mcV$sp(KafkaScheduler.scala:110)
        at kafka.utils.CoreUtils$$anon$1.run(CoreUtils.scala:56)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
        Suppressed: java.nio.file.AccessDeniedException: C:\kafka_2.11-0.10.0.1\tmp\kafka-logs\replication-offset-checkpoint.tmp -&gt; C:\kafka_2.11-0.10.0.1\tmp\kafka-logs\replication-offset-checkpoint
                at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:83)
                at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
                at sun.nio.fs.WindowsFileCopy.move(WindowsFileCopy.java:301)
                at sun.nio.fs.WindowsFileSystemProvider.move(WindowsFileSystemProvider.java:287)
                at java.nio.file.Files.move(Files.java:1347)
                at org.apache.kafka.common.utils.Utils.atomicMoveWithFallback(Utils.java:667)
                ... 17 more

你这个是访问被拒呀,文件权限问题。

java.nio.file.AccessDeniedException

如果有新的问题,可以到问题专区里提问呀,这里是文章区域额。
https://www.orchome.com/kafka/issues

查看kafka更多相关的文章或提一个关于kafka的问题,也可以与我们一起分享文章