如何为HTTPS配置Spark Standalone的Web UI?

时间:2017-07-05 22:07:02

标签: ssl apache-spark https

我想设置Spark Standalone的Web UI,以便可以通过HTTPS访问它。

Spark正在我用来访问浏览器的计算机外部的群集上运行。

这是我迄今为止所做的事情,并且它无法正常工作:

  • 使用OpenSSL制作自签名证书和密钥,然后使用keytool制作密钥库
  • 将证书和密钥打包为.p12文件
  • 在管理证书下的Chrome设置中,导入了所述p12文件
  • 在spark-defaults.conf中,添加了选项

    spark.ui.https.enabled                   true
    spark.ui.ssl.server.keystore.location    /path/to/spark.keystore
    spark.ui.ssl.server.keystore.keypassword password
    spark.ui.ssl.server.keystore.password    password
    
  • 在spark-env.sh中,添加了

    export SPARK_MASTER_OPTS="-Dspark.ui.https.enabled=true \
      -Dspark.ui.ssl.server.keystore.location=/path/to/spark.keystore \
      -Dspark.ui.ssl.server.keystore.keypassword=password \
      -Dspark.ui.ssl.server.keystore.password=password"
    
    export SPARK_WORKER_OPTS="-Dspark.ui.https.enabled=true \
      -Dspark.ui.ssl.server.keystore.location=/path/to/spark.keystore \
      -Dspark.ui.ssl.server.keystore.keypassword=password \
      -Dspark.ui.ssl.server.keystore.password=password"
    

我尝试在每个步骤之前,之后和之间连接到服务器,并且我不断收到错误"此网站无法提供安全连接"。我在这里缺少什么?

2 个答案:

答案 0 :(得分:1)

根据this line我认为使用HTTPS设置Spark Standalone的Web UI是

masterWebUiUrl = "http://" + masterPublicAddress + ":" + webUi.boundPort

我的建议是在Spark's JIRA中提交问题并找一位Spark开发人员来修复它。

答案 1 :(得分:0)

以下配置对我有用,请尝试将其放入" spark-defaults.conf"并重新启动Spark服务。还要检查Spark UI正在侦听的端口的日志,如" spark.ssl.ui.port"设置为" 0"。就我而言,它在端口8480上运行。

spark.ssl.enabled true
spark.ssl.ui.port 0
spark.ssl.keyStore <path_to_keystore>
spark.ssl.keyStorePassword <keystore_password>
spark.ssl.keyPassword <key_password>
spark.ssl.trustStore <path_to_truststore>
spark.ssl.trustStorePassword <truststore_password>
spark.ssl.enabledAlgorithms ECDHE-RSA-AES256-SHA,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
spark.ssl.protocol TLSv1.2
spark.ssl.trustStoreType JKS

请参阅屏幕截图以供参考。

Spark Master running on HTTPS