我正在本地运行 4 个节点的 Spark 应用程序。当我运行我的应用程序时,它显示我的驱动程序具有这个地址 10.0.2.15:
INFO Utils: Successfully started service 'SparkUI' on port 4040.
INFO SparkUI: Bound SparkUI to 0.0.0.0, and started at http://10.0.2.15:4040
Run Code Online (Sandbox Code Playgroud)
在运行结束时显示:
INFO SparkUI: Stopped Spark web UI at http://10.0.2.15:4040
INFO MapOutputTrackerMasterEndpoint: MapOutputTrackerMasterEndpoint stopped!
INFO MemoryStore: MemoryStore cleared
INFO BlockManager: BlockManager stopped
INFO BlockManagerMaster: BlockManagerMaster stopped
INFO OutputCommitCoordinator$OutputCommitCoordinatorEndpoint: OutputCommitCoordinator stopped!
INFO SparkContext: Successfully stopped SparkContext
Run Code Online (Sandbox Code Playgroud)
我试图通过以下方式访问 Spark Web:
10.0.2.15:4040但该页面无法访问。尝试使用以下地址也没有帮助:
http://localhost:18080
Run Code Online (Sandbox Code Playgroud)
使用ping 10.0.2.15结果是:
Send a request 'Ping' 10.0.2.15 with 32 bytes of data
Waiting time exceeded
Waiting time exceeded
Waiting time exceeded
Waiting time exceeded
Ping statistics for 10.0.2.15: Packages: sent = 4, received = 0, lost = 4 (100% loss)
Run Code Online (Sandbox Code Playgroud)
检查端口 4040 的可用性,netstat -a以验证哪些端口可用。结果如下:
Active connexion:
Active local address Remote address state
TCP 127.0.0.1:4040 DESKTOP-FF4U.....:0 Listening
Run Code Online (Sandbox Code Playgroud)
PS.:知道我的代码运行成功。可能是什么原因?
Jac*_*ski 12
INFO Utils: Successfully started service 'SparkUI' on port 4040.
INFO SparkUI: Bound SparkUI to 0.0.0.0, and started at http://10.0.2.15:4040
Run Code Online (Sandbox Code Playgroud)
这就是 Spark 报告 Web UI(在SparkUI内部称为)绑定到 port 的方式4040。
只要 Spark 应用程序启动并运行,您就可以通过http://10.0.2.15:4040访问 Web UI 。
INFO SparkUI: Stopped Spark web UI at http://10.0.2.15:4040
...
INFO SparkContext: Successfully stopped SparkContext
Run Code Online (Sandbox Code Playgroud)
这是 Spark 应用程序完成的时间(它是否正确完成并不重要)。从现在开始,Web UI(位于http://10.0.2.15:4040)不再可用。
我试图通过以下方式访问 Spark Web:10.0.2.15:4040 但该页面无法访问。
这是 Spark 应用程序的预期行为。完成后,4040(这是 Web UI 的默认端口)不再可用。
尝试使用以下地址也没有帮助:http://localhost:18080
18080是 Spark History Server 的默认端口。它是一个单独的进程,无论运行的 Spark 应用程序是否可用,它都可能可用,也可能不可用。
Spark History Server 与 Spark 应用程序完全不同。引用官方 Spark 文档:
仍然可以通过 Spark 的历史服务器构建应用程序的 UI,前提是应用程序的事件日志存在。您可以通过执行以下命令来启动历史服务器:
Run Code Online (Sandbox Code Playgroud)./sbin/start-history-server.sh默认情况下,这会在 http://:18080 处创建一个 Web 界面,列出未完成和已完成的应用程序和尝试。
如您所见,您必须自己启动 Spark History Server 才能18080使用。
此外,您必须使用spark.eventLog.enabled和spark.eventLog.dir配置属性才能在 Spark 应用程序完成执行后查看其日志。引用Spark 官方文档:
spark作业本身必须配置为记录事件,并将它们记录到同一个共享的、可写的目录中。例如,如果服务器配置的日志目录为
hdfs://namenode/shared/spark-logs,则客户端选项将是:Run Code Online (Sandbox Code Playgroud)spark.eventLog.enabled true spark.eventLog.dir hdfs://namenode/shared/spark-logs
| 归档时间: |
|
| 查看次数: |
38583 次 |
| 最近记录: |