[英]Error while pulling kafka jks certificates from hdfs (trying with s3 as well) in spark
我在集群模式下運行 spark,它給出了錯誤
ERROR SslEngineBuilder: Modification time of key store could not be obtained: hdfs://ip:port/user/hadoop/jks/kafka.client.truststore.jks
java.nio.file.NoSuchFileException: hdfs:/ip:port/user/hadoop/jks/kafka.client.truststore.jks
我運行了以下命令並驗證了該位置是否存在 jks 文件。
hadoop fs -ls hdfs://ip:port/user/hadoop/\<folder1\>
我寫了下面的代碼來連接到 spark 項目中的 kafka。
火花代碼:
sparkSession.readStream
.format("kafka")
.option("kafka.bootstrap.servers", )
.option("subscribe", )
...
.option("kafka.ssl.keystore.password", "pswd")
.option("kafka.ssl.key.password", "pswrd"))
.option("kafka.ssl.truststore.location","hdfs:///node:port/user/hadoop/\<folder1\>/kafka.client.truststore.jks")
.option("kafka.ssl.keystore.location", "hdfs:///node:port/user/hadoop/\<folder1\>/kafka.client.keystore.jks")
請建議缺少什么?
如何在 s3 中使用 jks 文件實現相同的目的?
您需要在spark-submit
選項上使用--files s3a://...
(或與hdfs
),或在內置的 session 中使用spark.files
選項。
然后你可以直接按名稱引用這些文件(而不是完整路徑),因為它們是通過 Spark 執行程序的相對路徑查找的。
要從 S3 讀取數據,您還需要(安全地)定義您的 S3 訪問密鑰(即不是您的 Spark 代碼中的明文)。 使用hdfs-site.xml
資源文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.