Apache kafka 如何检查kafka机器上损坏/损坏的文件

Apache kafka 如何检查kafka机器上损坏/损坏的文件,apache-kafka,Apache Kafka,我们希望检查或验证/var/kafka/kafka logs/下的日志,以了解哪些文件已损坏或缺少信息。。。等等 卡夫卡版本-10.0.2 是否可以通过CLI或其他方法验证日志 我提出这个问题的原因是,我们从/var/log/kafka/server.log中注意到索引和时间索引存在问题(索引损坏),我们担心文件是否也是问题的一部分 ls -ltr /var/kafka-kafka-logs drwxr-xr-x. 2 kafka hadoop 16384 May 15 14:22 kuapi

我们希望检查或验证
/var/kafka/kafka logs/
下的日志,以了解哪些文件已损坏或缺少信息。。。等等

卡夫卡版本-10.0.2

是否可以通过CLI或其他方法验证日志

我提出这个问题的原因是,我们从
/var/log/kafka/server.log
中注意到索引和时间索引存在问题(索引损坏),我们担心文件是否也是问题的一部分

ls -ltr /var/kafka-kafka-logs

drwxr-xr-x. 2 kafka hadoop 16384 May 15 14:22 kuapi.jurg.pri.processed-1
drwxr-xr-x. 2 kafka hadoop 20480 May 15 14:22 kuapi.jurg.pri.decoded-95
drwxr-xr-x. 2 kafka hadoop 16384 May 15 14:22 kuapi.jurg.pri.decoded-36
drwxr-xr-x. 2 kafka hadoop 16384 May 15 14:22 kuapi.jurg.pri.processed-53
drwxr-xr-x. 2 kafka hadoop 20480 May 15 14:22 kuapi.jurg.pri.decoded-44
drwxr-xr-x. 2 kafka hadoop 20480 May 15 14:22 kuapi.jurg.pri.processed-17
drwxr-xr-x. 2 kafka hadoop 20480 May 15 14:22 kuapi.jurg.pri.decoded-83
drwxr-xr-x. 2 kafka hadoop 20480 May 15 14:22 kuapi.jurg.pri.decoded-15
drwxr-xr-x. 2 kafka hadoop 16384 May 15 14:22 kuapi.jurg.pri.processed-66
drwxr-xr-x. 2 kafka hadoop  4096 May 15 14:22 kuapi.jurg.tc.ppe_retry.gad-0
drwxr-xr-x. 2 kafka hadoop  4096 May 15 14:22 kuapi.jurg.tc.ppe_retry.wce-2
drwxr-xr-x. 2 kafka hadoop  4096 May 15 14:22 kuapi.jurg.tc.ppe_retry.wce-3
drwxr-xr-x. 2 kafka hadoop  4096 May 15 14:22 kuapi.jurg.tc.ppe_mission.imei-4
drwxr-xr-x. 2 kafka hadoop  4096 May 15 14:22 kuapi.jurg.pri.tc.initial.nce-4
drwxr-xr-x. 2 kafka hadoop  4096 May 15 14:22 kuapi.jurg.tc.ppe_update.wce-5
drwxr-xr-x. 2 kafka hadoop  4096 May 15 14:22 __consumer_offsets-14
drwxr-xr-x. 2 kafka hadoop 16384 May 15 14:22 kuapi.jurg.pri.decoded-55
drwxr-xr-x. 2 kafka hadoop 28672 May 15 14:22 kuapi.jurg.mdr.initial-1
drwxr-xr-x. 2 kafka hadoop 16384 May 15 14:22 kuapi.jurg.pri.processed-79
drwxr-xr-x. 2 kafka hadoop 16384 May 15 14:22 kuapi.jurg.pri.decoded-8
主题-kuapi.jurg.pri.decoded-8下的示例我们有:

ls kuapi.jurg.pri.decoded-8
00000000000000000000.index  00000000000000000000.log  00000000000000000000.timeindex  00000000000000000008.index  00000000000000000008.log  00000000000000000008.timeindex


我不确定你能从中得到多少,但是你可以使用

例如,这将输出一些输出

kafka-run-class kafka.tools.DumpLogSegments --files 00000000000000000000.log 

如果每个主题分区下有100个文件,该怎么办,在这种情况下,我们需要单独检查每个文件?我不确定是否可能,但我们需要一些CLI或工具,可以告诉我们哪些日志(我们有数百万个)有问题,因此在这种情况下,我们可以删除它,您需要手动扫描它们,然后。我不知道你是如何定义“损坏”的,但是服务器启动日志将无法解析它们,如果是的话。请随意写下你自己的实用程序-你有机会查看我的线程吗-在这种情况下,我们删除所有索引和时间索引并启动kafka代理,但我们不确定它是否能解决问题(问题是卡夫卡经纪人在某个损坏的索引上失败)
kafka-run-class kafka.tools.DumpLogSegments --files 00000000000000000000.log