Yas*_*r S 5 amazon-s3 apache-spark minio
我使用自签名证书通过 TLS安装了 Minio(我使用helm在 Kubernetes 中安装了 Minio)。之前我可以在没有 TLS 的情况下使用 Minio 运行我的 Spark 作业。现在无法连接到 Minio(正常!)
然后,我从 tls 证书创建了一个信任库文件
keytool -import \
-alias tls \
-file tls.crt \
-keystore truststore.jks \
-storepass "$minioTruststorePass" \
-noprompt
Run Code Online (Sandbox Code Playgroud)
我使用信任库的内容创建一个 Kubernetes 密钥,并在 Spark-defaults.conf 中使用以下选项来让 Spark 使用信任库:
spark.kubernetes.driver.secrets.minio-truststore-secret
Run Code Online (Sandbox Code Playgroud)
最后,我在我的spark-defaults.conf中做了以下所有更改,但同样的问题
spark.hadoop.fs.s3a.endpoint https://smart-agriculture-minio:9000
spark.hadoop.fs.s3.awsAccessKeyId <s3aAccessKey>
spark.hadoop.fs.s3.awsSecretAccessKey <s3aSecretKey>
spark.hadoop.fs.s3.impl org.apache.hadoop.fs.s3a.S3AFileSystem
spark.hadoop.fs.s3a.access.key <s3aAccessKey>
spark.hadoop.fs.s3a.secret.key <s3aSecretKey>
spark.hadoop.fs.s3a.path.style.access true
spark.hadoop.fs.s3a.impl org.apache.hadoop.fs.s3a.S3AFileSystem
spark.hadoop.fs.s3a.connection.ssl.enabled true
spark.driver.extraJavaOptions -Djavax.net.ssl.trustStore=/opt/spark/conf/minio/truststore/truststore.jks -Djavax.net.ssl.trustStorePassword=<minioTruststorePass>
spark.executor.extraJavaOptions -Djavax.net.ssl.trustStore=/opt/spark/conf/minio/truststore/truststore.jks -Djavax.net.ssl.trustStorePassword=<minioTruststorePass>
Run Code Online (Sandbox Code Playgroud)
您是否曾经遇到过这个问题并且您有解决办法吗?
谢谢
小智 0
Spark 使用 hadoop 库,它使用 aws-sdk,因此您应该禁用证书检查。
com.amazonaws.sdk.disableCertChecking=true
Run Code Online (Sandbox Code Playgroud)
据我了解,您想获得 k8s + Spark 运算符的答案,只需将驱动程序和执行程序的此属性添加到您的 yaml 文件中
javaOptions: "-Dcom.amazonaws.sdk.disableCertChecking=true"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5280 次 |
| 最近记录: |