【发布时间】:2020-04-19 08:47:58
【问题描述】:
我使用自签名证书安装了带有 TLS 的 Minio(我使用 helm 在 Kubernetes 中安装了 Minio)。以前,我可以在没有 TLS 的情况下使用 Minio 运行我的 spark 作业。 现在无法连接到 Minio(正常!)
然后,我从 tls 证书创建了一个信任库文件
keytool -import \
-alias tls \
-file tls.crt \
-keystore truststore.jks \
-storepass "$minioTruststorePass" \
-noprompt
我使用信任库的内容创建了一个 Kubernetes 机密,并在 spark-defaults.conf 中使用以下选项让 spark 使用信任库:
spark.kubernetes.driver.secrets.minio-truststore-secret
最后,我在 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.drive.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>
你有没有遇到过这个问题,你有解决它的想法吗?
谢谢
【问题讨论】:
-
没有亲身经历,抱歉。在它下面,所有的 apache http 客户端 4.4.x 都被使用,然后是 JSSE。我希望那些 javax 选项能够工作。不那么雄心勃勃:让“hadoop fs -ls”命令先工作
-
@Yassir 你找到解决方案了吗?我们有类似的设置并面临类似的问题。
标签: apache-spark amazon-s3 minio