【发布时间】:2020-04-14 23:31:32
【问题描述】:
我们使用的是 Spark 2.0.2 和 Hadoop 3.2.1。我已经在 Hadoop 上配置了 SSL,没有任何问题。但 Spark 遇到了一些麻烦。
没有 SSL,我可以启动作业并查看通过 Yarn 代理的 Spark UI。
启用 SSL 后,我仍然可以启动作业并运行完成,但无法访问 Spark Web UI。 Yarn 链接到 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