2017-07-05 21 views
3

我想设置Spark Standalone的Web UI,以便通过HTTPS访问它。如何为HTTPS配置Spark Standalone的Web UI?

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

这是我到目前为止已经完成,它不工作:

  • 使用OpenSSL的做自签名证书和密钥,然后keytool来做出一个密钥
  • 包装证书和密钥作为.p12文件
  • 在所管理证书Chrome的设置,进口说P12文件
  • 在火花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" 
    

我试过之前连接到服务器后,并在每个步骤之间,我不断收到错误“此网站无法提供安全连接”。我在这里错过了什么?

回答

1

根据this line我认为它是而不是可能使用HTTPS设置Spark Standalone的Web UI。

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

我的建议是在Spark's JIRA到文件中的问题,并找到一个星火开发商来解决它。

0

下面的配置为我工作,尝试把它放在“spark-defaults.conf”并重新启动Spark服务。由于“spark.ssl.ui.port”设置为“0”,因此还要检查Spark UI正在侦听哪个端口的日志。在我的情况下,它在端口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