1

我用两台虚拟机制作了一个 Spark 独立集群。
在第一个 VM(8 核,64 GB 内存)中,我使用命令手动启动了 master bin/spark-class org.apache.spark.deploy.master.Master
在第二个 VM(8 核,64 GB 内存)中,我使用
bin/spark-class org.apache.spark.deploy.worker.Worker spark://<hostname of master>:7077.
然后在第一个 VM 中,我还使用上述从属命令启动了从属。从下图中可以看出,worker 和 master 都已启动并处于活动状态。

但是当我运行我的 Spark 应用程序时,仅运行第二个 VM 中的工作程序(worker-20160613102937-10.0.37.150-47668)。第一个 VM ( worker-20160613103042-10.0.37.142-52601) 的工作人员未运行。见下图

Spark 独立集群 UI

我希望这两个工人都应该在我的 Spark 应用程序中使用。如何才能做到这一点?

编辑:请参阅这张执行器摘要的图片,其中与 VM 1st 中的工作人员对应的执行器失败。

执行者摘要

当我单击任何stdoutstderr时,它会显示 的错误invalid log directory。见下图

错误

4

1 回答 1

0

错误已解决。Spark 无法在第一个 VM 上创建日志目录。我提交 Spark 作业的用户没有在路径上创建文件的权限/usr/local/spark。只需更改目录 ( ) 的读/写权限就可以chmod -R 777 /usr/local/spark了。

于 2016-06-14T09:39:31.647 回答