windows - Kafka - 更改分区领导时的 AccessDeniedException
问题描述
在 2 台 Windows 机器上运行 Kafka 集群(Kafka v 2.11-1.1.0)时,当我尝试更改特定主题分区的领导者时,似乎抛出了 AccessDeniedException。这会导致代理(当前领导者)崩溃。这可能与以下未解决的问题有关:https ://issues.apache.org/jira/browse/KAFKA-1194 。对此我有什么可以做的,或者您现在可以不更改 Windows 上的主题负责人而无需重新启动代理吗?
重现步骤:
- 在 Windows 10 机器上启动 zookeeper 服务。
- 在同一台机器上启动一个 kafka 代理。
- 在第二台 Windows 10 机器上启动第二个 kafka broker,与第一个机器连接到同一个 zookeeper,从而形成一个 Kafka 集群。
- 创建一个具有 1 个分区的主题并观察该分区的结果领导者。
使用 kafka-reassign-partitions 命令(根据https://cwiki.apache.org/confluence/display/KAFKA/Replication+tools)更改该主题分区的领导者。使用类似于下面显示的 json 文件,其中“topicName”替换为步骤 4 中创建的主题的名称,“1”替换为当前不是此分区领导者的 Kafka 代理的 BrokerId:
{ "version":1, "partitions":[ {"topic":"topicName","partition":0,"replicas":[1]} ] }
执行上述步骤后,我在旧主题分区领导者的日志中看到以下内容:
Error while renaming dir for testTopic in log dir C:\Users\Public\Documents\Kafka\logs\ (kafka.server.LogDirFailureChannel) java.nio.file.AccessDeniedException
解决方案
推荐阅读
- python - 循环运行从数量到数量的流程
- javascript - 通过 jQuery 修改 CSS 高度的意外行为
- html - 使用 Bootstrap 4 将版权页脚定位到 Angular / C# 应用程序的底部
- python - 在 matplotlib 中传递用于绘图的元组会在第 1 行引发“元组对象不可调用”错误。3
- graphql - 如何在graphql的嵌套查询中传递参数?
- django - 如何在我要编辑的实例中显示数据?
- here-api - 如何防止 HERE 航点图出现较大偏差?
- javascript - 如何使用 docx 从角度将图像添加到 Word 文档?
- formula - 如何在画面中创建分区十分位数?(某些组内的十分位数)
- alexa - Alexa APL Pager OnPageChanged 事件仅通过触摸触发