我不确定应用程序是 运行 仅在主机上还是在 EC2 上的 Spark 整个集群上

I am not sure whether the application is running on just the master or the whole cluster for Spark on EC2

我正在使用 Spark 1.1.1。我按照 https://spark.apache.org/docs/1.1.1/ec2-scripts.html 上给出的说明进行操作,并在 EC2 运行ning 上拥有一个由 1 个主节点和 1 个工作节点组成的集群。

我已经制作了一个应用程序的 jar 并将其同步到奴隶。当我 运行 应用程序在客户端的部署模式下使用 spark-submit 时,应用程序可以正常工作。但是,当我使用部署模式集群这样做时,它给了我一个错误,说它无法在 worker 上找到 jar。 jar 的权限在 master 和 worker 上都是 755。

我不确定当我 运行 应用程序使用 deploy-mode=client 时,应用程序是否正在使用 worker。我不认为这是因为工人 url 没有显示任何已完成的工作。但它确实在 deploy-mode=cluster.

期间显示失败的作业

我是不是做错了什么?感谢您的帮助。

您可以在 /executors 页面上的 4040 端口(例如 http://localhost:4040/executors/)检查是否为应用程序分配了执行程序。如果你只看到 <driver> 那么你没有使用工人。如果您看到一行 <driver> 和另一行(ID 为 0,除非它已重新启动),则该工作程序还为您的应用程序提供了一个执行程序。在这里您还可以看到它为您的应用程序完成了多少任务,以及其他统计信息。