我有一个6节点的Kafka集群,由于不可预见的情况,其中一个经纪人上的kafka分区完全填满了。
可理解的卡夫卡将无法启动。
我们设法处理了其他经纪人上的主题数据。
我们的复制因子为4,所以一切都很好。
我可以手动从某个主题中删除索引文件,以便kafka可以启动并清除数据本身,或者这样做有造成损坏的危险吗?
经纪人启动后,应通过将已处理主题的保留率设置得较低,来清除大部分空白,因为我们已经清除了主题。
什么是最好的方法?
答案 0 :(得分:1)
在这种情况下,我发现的最佳方法是删除日志并减少kafak的retention
或replication
!
答案 1 :(得分:0)
有些评论提到调整保留时间。我提到我们已经做到了。问题在于,具有完整磁盘的代理只有在清除了一些空间后才能启动。
在开发环境中进行测试后,我能够通过从一个Kafka日志文件夹中删除一些.log和.index文件来解决此问题。这允许经纪人开始。然后它会根据保留率自动开始清除数据,并解决了情况。