Kafka-代理失败,因为所有日志目录均失败

时间:2018-08-02 01:46:07

标签: apache-kafka

我正在Windows操作系统上尝试简单的kafka配置。我的zookeeper和kafka安装使用默认配置(数据和日志目录路径除外)。我可以启动kafka并产生/使用消息而不会出现问题;但是,当代理尝试删除旧消息(我将日志保留时间设置为100 ms)时,出现以下错误:

randomVersion | should -Match -RegularExpression '^(14|15|16)\.[0-9]+\.[0-9]+\.[0-9]+$'

这似乎是这个问题:https://issues.apache.org/jira/browse/KAFKA-6188

kafka版本:kafka_2.11-1.1.0 Windows 10 Zookeeper版本:3.4.12

我有几个问题:

  1. 有人见过这个问题吗?有没有解决方法?
  2. 此时在Windows上运行kafka代理是否可行?我知道Windows不支持它,而且似乎存在多个关键问题。

谢谢

11 个答案:

答案 0 :(得分:2)

第1步:在server.properties文件中指向新的日志目录并保存该文件

log.dirs = C:\ Tools \ kafka_2.11-2.1.0 \ kafka-test-logs

第2步:再次启动kafka服务器

/bin/windows/kafka-server-start.bat /config/server.properties

答案 1 :(得分:2)

转到 kafka 文件夹中的 config 文件夹(例如 D:\kafka\config) 打开zookeeper.properties 编辑你的 datadir 看起来像: dataDir = D:/kafka/data/zookeeper 在记事本中打开 server.properties 并编辑 logs.dirs 和 zookeeper.connect logs.dirs = D:/kafka/data/kafka zookeeper.connect=localhost:2181 注意:根据您自己的 kafka 设置和文件夹替换 D:\kafka

答案 2 :(得分:0)

当我使用默认配置在本地运行zookeeper,kafka服务器,命令行生产者和使用者时,遇到类似的问题,如下所述:https://kafka.apache.org/quickstart 服务器和生产者成功启动,但是当我尝试启动使用者时,我立即遇到了日志失败的问题。

我通过为服务器,生产者和使用者设置不同的日志目录来修复它。至于没有为生产者和消费者设置它的明确方法,我不得不更新他们的启动脚本。我加了一行

set LOG_DIR=/distr/kafka_2.11-2.2.0/producer_logs

kafka_console_producer.bat
以及 kafka_console_consumer.bat /distr/kafka_2.11-2.2.0/consumer_logs
修复使用者成功启动之后。 看来问题在于,这三个进程都使用相同的日志目录,并且以某种方式相互干扰。

答案 3 :(得分:0)

我具有相同的kafka行为,但仅重命名或清除日志目录并不能解决问题。每次我尝试启动kakfa时,它都会崩溃(它会生成所有已删除的日志)。

解决方案:

  1. 像以前一样删除日志。
  2. 转到ZooKeeper数据目录(可在\ conf \ zoo.cfg中找到)并进行清理。重新启动所有内容,应该将其完全重置。

答案 4 :(得分:0)

我在Windows上使用Kafka 2.12-2.3.0。对我有用的是更改 server.properties 设置 log.dirs = 以同时包含日志数据Kafka和Zookeeper。

示例:

log.dirs = C:/kafka_2.12-2.3.0/data/kafka,C:/kafka_2.12-2.3.0/data/zookeeper

答案 5 :(得分:0)

我尝试了多种方法来解决此问题:

  1. 从server.properties中log.dirs属性指向的文件夹中删除日志。 它确实在一定时间内解决了我的问题,但是当我创建了20多个主题时,它就停止了工作,因此每次启动kafka服务器时,都会出现此问题。

  2. 尝试使用命令“ kafka-topics --zookeeper localhost:2181 --delete --topic topicname”从kafka删除主题,但将我的主题标记为-“标记为要删除的标志”。但没有解决我的问题。

然后,最后我尝试删除kafka的tmp文件夹内的zookeeper和kafka-logs文件夹,它起作用了,所有主题都被删除了。

答案 6 :(得分:0)

删除Kafka代理的日志文件以及zookeeper的数据和日志文件,然后重新启动。 另外请记住在重新启动Kafka和Zookeeper之前先停止Kafka客户端

答案 7 :(得分:0)

您可以删除所有Kafka数据。参见Kafka docs

  1. 如果尚未停止,请Ctrl-C停止生产者和消费者客户。
  2. 使用Ctrl-C停止Kafka经纪人。
  3. 最后,使用Ctrl-C停止ZooKeeper服务器。

如果您还想删除本地Kafka环境的任何数据 包括您在创建过程中创建的所有事件,请运行以下命令:

$ rm -rf /tmp/kafka-logs /tmp/zookeeper

答案 8 :(得分:0)

尝试在 Kafka 文件夹中创建一个新文件夹。 更改 server.properties 和 zookeeper.properties 并重新启动命令提示符并再次尝试启动服务器。

答案 9 :(得分:0)

在开发机器上,我停止了 zookeeper 和 kafka-server 以及所有客户端,并删除了日志目录的内容。 然后依次启动zookeeper、kafka、connectors、clients。

答案 10 :(得分:0)

删除本地文件夹下的所有文件,如您的 docker 监视器中所示。之后,重新启动容器。

Kafka starting error