我正在尝试在scala中构建一个kafka消费者,使用intellij读取来自kafka主题的消息并将它们保存在hdfs上。我用的是spark 1.6.2,kafka 2.10-0.10,scala 2.10.5和HDP2.5.3。我得到的错误如下:
Exception in thread "main" java.lang.NoSuchMethodError: kafka.consumer.SimpleConsumer.<init>(Ljava/lang/String;IIILjava/lang/String;Lorg/apache/kafka/common/protocol/SecurityProtocol;)V
通过我在这里的研究,我了解到这是一个jar/依赖问题,但我仍然无法解决它。
1条答案
按热度按时间iklwldmw1#
您必须确保kafka库可用于spark运行时。有几种方法可以确保这一点:
使用--jars“/location/of/your/kafka jar调用spark shell或spark submit
将Kafka相关的jar复制到spark安装的“jars”文件夹中(注意:如果在集群上运行,则必须将这些jar复制到所有节点。因此,我推荐上面的方法,spark在内部为您执行此操作)