启用SSL后,Spark UI不使用HTTPS,而是通过HTTP转发到端口0

问题描述 投票:0回答:1

我们正在使用Spark 2.0.2和Hadoop 3.2.1。我已经在整个Hadoop上配置了SSL,而没有任何麻烦。但是Spark遇到了一些麻烦。

没有SSL,我可以启动作业并查看通过Yarn代理的Spark UI。

启用SSL后,我仍然可以启动作业并运行完成,但是无法访问Spark Web UI。纱线链接到ApplicationMaster代理,该代理失败,并显示java.net.ConnectException: Connection refused (Connection refused)

深入研究作业的标准输出,我看到这样的行:

2020-04-14 16:21:57,258 INFO server.ServerConnector: Started ServerConnector@1484944f{HTTP/1.1}{0.0.0.0:40809}
2020-04-14 16:21:57,303 INFO server.ServerConnector: Started ServerConnector@799e8b3a{SSL-HTTP/1.1}{0.0.0.0:36015}
2020-04-14 16:21:57,303 INFO server.Server: Started @5614ms
2020-04-14 16:21:57,304 INFO util.Utils: Successfully started service 'SparkUI' on port 40809.
2020-04-14 16:21:57,309 INFO ui.SparkUI: Bound SparkUI to 0.0.0.0, and started at https://10.10.75.40:40809

如果调用https://10.10.75.40:40809,则会收到错误消息,它不是SSL。

如果我呼叫http://10.10.75.40:40809,则会收到伪造的重定向到端口10.10.75.40:0。

[如果我调用https://10.10.75.40:36015并忽略证书错误,或者如果我通过正确的主机名进行调用,则会重定向到RM的:8090/proxy/redirect,这再次引发500错误。

我的配置包括:

spark.ssl.enabled                 true
spark.ssl.keyStore                /etc/sslmate/STAR.mtv.qxxxxxxxxd.com.jks
spark.ssl.keyStorePassword        _the password_
spark.ssl.trustStore              /etc/sslmate/STAR.mtv.qxxxxxxxxd.com.jks
spark.ssl.trustStorePassword      _the password_
spark.ssl.protocol                TLSv1.2

我也尝试过尝试显式设置端口,但无济于事:

spark.ssl.ui.port                 4440
spark.ssl.history.port            18480
spark.ui.driver.port              2020
spark.ssl.ui.driver.port          2420
apache-spark apache-spark-2.0
1个回答
0
投票

我找不到通过Apache记录的文档,但是我发现a note from MapR使我工作了:

在YARN上运行Spark时不需要Spark UI SSL,因为YARN协议提供了加密。要禁用Spark SSL,请在每个spark节点的spark.ssl.ui.enabled false文件中添加spark-defaults.conf

以这种方式配置时,ResourceManager通过:8090/proxy/redirect类型URL正确提供Spark UI。在stderr中,我看到这些行的输出:

2020-04-14 17:36:38,098 INFO server.ServerConnector: Started ServerConnector@7ef020c8{HTTP/1.1}{0.0.0.0:45951}
2020-04-14 17:36:38,098 INFO server.Server: Started @7871ms
2020-04-14 17:36:38,107 INFO util.Utils: Successfully started service 'SparkUI' on port 45951.
2020-04-14 17:36:38,113 INFO ui.SparkUI: Bound SparkUI to 0.0.0.0, and started at http://10.10.31.230:45951
© www.soinside.com 2019 - 2024. All rights reserved.