我正在使用Spark 1.1.1。我按照https://spark.apache.org/docs/1.1.1/ec2-scripts.html上给出的说明操作,并在EC2上运行一个主节点和1个工作组的集群。
我已经制作了一个应用程序的jar并将其发送给了奴隶。当我使用客户端的部署模式使用spark-submit运行应用程序时,应用程序可以运行。但是,当我使用部署模式群集时,它会给我一个错误,说它无法找到工作者的jar。主人和工人对jar的许可是755。
我不确定当我使用deploy-mode = client运行应用程序时,是否应用程序正在使用worker。我不认为是因为工人网址没有显示任何已完成的工作。但它确实在deploy-mode = cluster期间显示失败的作业。
我做错了吗?谢谢你的帮助。
答案 0 :(得分:1)
您可以检查端口4040上/executors
页面上的执行程序是否已分配给应用程序(例如http://localhost:4040/executors/
)。如果您只看到<driver>
,那么您没有使用该工作人员。如果您看到一行<driver>
和另一行(ID为0,除非它已重新启动),那么该工作者也会为您的应用程序提供执行程序。在这里,您还可以看到它为您的应用程序完成了多少任务,以及其他统计数据。