我在为kafka运行spark流消费者工作时遇到以下错误,并且kafka在SASL_SSL模式下运行。
该作业配置为以纱线客户端模式运行,这意味着Spark驱动程序将在本地边缘节点(从中调用作业)上运行,而Spark执行程序将在hadoop集群上运行。 因此,我通过--files选项将所有必需的配置文件(jaas,keytab,keystore等)发送到执行器缓存。但是,驱动程序还需要密钥库和密钥表文件才能与执行程序一起与kafka进行通信,但是驱动程序无法找到密钥库文件。
有没有一种方法可以配置spark驱动程序以其需要的yarn客户端模式(我可以使用--files选项为执行者执行的方式)加载keystore和keytab文件(或边缘上本地存在的任何其他文件)。
org.apache.kafka.common.KafkaException: Failed to construct kafka consumer
--
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: org.apache.kafka.common.KafkaException: org.apache.kafka.common.KafkaException: java.io.FileNotFoundException: kafka_client_truststore.jks (No such file or directory)
--
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Caused by: org.apache.kafka.common.KafkaException: java.io.FileNotFoundException: kafka_client_truststore.jks (No such file or directory)
--
Caused by: java.io.FileNotFoundException: kafka_client_truststore.jks (No such file or directory)
--
关于, 希特什