【问题标题】:kafka-console-producer.sh Error: Could not find or load main class kafka.tools.ConsoleProducerkafka-console-producer.sh 错误:无法找到或加载主类 kafka.tools.ConsoleProducer
【发布时间】:2016-08-27 22:18:37
【问题描述】:

刚刚安装了一个 spotify/kafka 的 Docker 镜像。 sudo docker ps:

82c411a52a38        spotify/kafka                    "supervisord -n"         26 minutes ago      Up 26 minutes       0.0.0.0:2181->2181/tcp, 0.0.0.0:9092->9092/tcp

另外,单独下载了 kafka 二进制文件,所以我可以使用 kafka-console-producer.sh 来测试安装,按照:https://hub.docker.com/r/spotify/kafka/

我设置了以下 ENV 变量:

KAFKA=event-ora-dev:9092 ZOOKEEPER=event-ora-dev:2181

当我运行命令./kafka-console-producer.sh --broker-list $KAFKA --topic test

我得到这个错误:

Error: Could not find or load main class kafka.tools.ConsoleProducer

假设 kafka.tools.ConsoleProducer 是一个 java 类,由 kafka-console-producer.sh shell 脚本调用 - 我应该在哪里寻找这个 java 类?

【问题讨论】:

    标签: apache-kafka kafka-producer-api


    【解决方案1】:

    如果你从项目网站下载Kafka并解压,有一个子文件夹lib包含所有jar文件。

    kafka-console-producer.sh 将需要 kafka-tools-0.9.0.1.jar 用于 kafka.tools.ConsoleProducer(或不同的版本 -- 不确定您使用的是什么)。

    如果您从顶级文件夹运行bin/kafka-console-producer.sh,这应该是开箱即用的。

    【讨论】:

      【解决方案2】:

      我在使用 kafka 10 时遇到了同样的问题: 所以正如@Matthias J. Sax 所说我缺少一些罐子, 所以我发现下载 kafka_2.10-0.10.2.1 时我在 lib 中缺少 jars 当我下载 kafka_2.12-0.10.2.1 时,我得到了完整的 lib 文件夹。

      底线我做了如下:

      wgethttp://www-us.apache.org/dist/kafka/0.10.2.1/kafka_2.12-0.10.2.1.tgz

      tar -xvf kafka_2.12-0.10.2.1.tgz

      ./kafka_2.12-0.10.2.1/bin/kafka-console-producer.sh --broker-list $KAFKA --topic test

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-12
        • 2016-03-16
        • 2016-01-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多