刚刚安装了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 =事件ORA-dev的:9092 ZOOKEEPER =事件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类?
答案 0 :(得分:1)
我使用kafka 10遇到了同样的问题: 所以@Matthias J. Sax说我错过了一些罐子, 所以我发现当下载kafka_2.10-0.10.2.1时我在lib中丢失了jar 当我下载kafka_2.12-0.10.2.1时,我得到了完整的lib文件夹。
我在底线做了如下:
wget http://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
答案 1 :(得分:0)
如果您从项目网站下载Kafka并将其解压缩,则会有包含所有lib
个文件的子文件夹jar
。
kafka-console-producer.sh
kafka-tools-0.9.0.1.jar
需要kafka.tools.ConsoleProducer
(或不同版本 - 不确定您使用的是什么)。
如果您从顶级文件夹运行bin/kafka-console-producer.sh
,这应该是开箱即用的。