我是第一次使用Apache Spark。我运行我的应用程序,当我访问localhost:4040
时,我得到了图片中显示的内容。我发现可能是设置
spark.ui.enabled true
可以帮忙,但我不知道该怎么做。
提前致谢。
在Google Cloud Dataproc上使用Spark时,我遇到了同样的问题。
如果您不是通过4040
端口直接访问Spark Job UI,而是通过YARN Web UI(8088
端口),您将看到正确呈现的网页。
要在通过4040
端口直接访问Spark UI时解决此问题,您需要在Spark作业中重置spark.ui.proxyBase
属性(而不是在CLI /作业提交命令中),因为它会被Spark UI代理覆盖:
sys.props.update("spark.ui.proxyBase", "")
Here is详细描述了这个问题。
我有同样的问题。此外,对http://localhost:4040/api/v1/applications的调用未能回复而没有回复。
这是因为我的类路径中两个版本的Jersey之间发生了冲突。主要是1.x和2.x之间的冲突。对我有用的是在我的Maven构建中排除来自其他不依赖于Spark的依赖项的Jersey库。
例如:
<dependency>
<groupId>org.apache.parquet</groupId>
<artifactId>parquet-avro</artifactId>
<version>1.9.0</version>
<exclusions>
<exclusion>
<groupId>com.sun.jersey</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
排除版本泽西1.x(My Spark发行版使用2.x)解决了这个问题。
编辑:
另外 - >当servlet api 2.5 JAR在classpath中或者与3.x一起时发生
如果您使用的是WildFly,请查看https://issues.apache.org/jira/browse/SPARK-27795是否可以提供帮助(您还可以找到(非常难看)解决方法)。