Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 从.log文件恢复Kafka数据_Apache Kafka - Fatal编程技术网

Apache kafka 从.log文件恢复Kafka数据

Apache kafka 从.log文件恢复Kafka数据,apache-kafka,Apache Kafka,我有一个最近崩溃的单节点卡夫卡。我能够从/tmp/kafka logs/mytopic-0/中修复.log和.index文件,并且我已将这些文件移动到另一台服务器并在其上安装了kafka 有没有办法让新的kafka服务器为这些.log文件中包含的数据提供服务 更新: 我可能没有用正确的方法做这件事,但我已经厌倦了: 在新kafka服务器上创建了名为recovermytopic的主题 卡夫卡 将所有.log文件移动到/tmp/kafka logs/recovermytopic-0 卡夫卡 kafk

我有一个最近崩溃的单节点卡夫卡。我能够从
/tmp/kafka logs/mytopic-0/
中修复.log和.index文件,并且我已将这些文件移动到另一台服务器并在其上安装了kafka

有没有办法让新的kafka服务器为这些.log文件中包含的数据提供服务

更新:

我可能没有用正确的方法做这件事,但我已经厌倦了:

  • 在新kafka服务器上创建了名为recovermytopic的主题 卡夫卡
  • 将所有.log文件移动到
    /tmp/kafka logs/recovermytopic-0
  • 卡夫卡
  • kafka似乎为每个.log文件生成了一个.index文件,看起来很有希望,但在创建了索引文件后,我看到了下面的图片:

    WARN Partition [recovermytopic,0] on broker 0: No checkpointed highwatermark is found for partition [recovermytopic,0] (kafka.cluster.Partition)  
    INFO [ReplicaFetcherManager on broker 0] Removed fetcher for partitions [recovermytopic,0] (kafka.server.ReplicaFetcherManager)
    
  • 当我尝试使用kafka console consumer检查主题时,kafka服务器会说:

    INFO Closing socket connection to /127.0.0.1. (kafka.network.Processor)
    

    没有正在使用的邮件

    Kafka附带了一个
    DumpLogSegments
    工具,该工具将从Kafka数据日志文件中提取消息(以及偏移量等):

    $KAFKA_HOME/bin/kafka-run-class.sh kafka.tools.DumpLogSegments --deep-iteration --print-data-log --files mytopic-0/00000000000000132285.log > 00000000000000132285_messages.out
    
    根据您使用的卡夫卡版本的不同,输出会有所不同,但使用
    sed
    或其他工具提取消息键和值应该很容易。然后,可以使用
    Kafka console producer.sh
    工具或编程方式将消息重播到Kafka集群中


    虽然这种方法有点迂回,但我认为它比试图让代理从其他地方获取的数据日志文件开始更透明/可靠。我已经用从0.9到2.4的各种版本的Kafka测试了
    DumpLogSegments
    工具。

    requeue是什么意思?@nautilus让Kafka的新实例服务于日志文件中的消息。重新措辞问题,谢谢!尝试创建具有相同名称和相同分区数的主题。可以使用OffsetResetStrategy重置从一开始就使用信息的使用者。EARLIEST@nautilus谢谢,刚刚尝试过,在消费者方面,我得到了以下错误:
    未能找到集合的leader([mytopic,0])
    创建消费者时会发生这种情况吗?你用的是什么版本?经纪人和动物园管理员是否已正确启动?