并非所有在Spark Standalone集群中使用的节点

并非所有在Spark Standalone集群中使用的节点

问题描述:

我使用两个虚拟机制作了Spark Standalone集群。
在第一个VM(8个内核,64 GB内存)中,我使用命令 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中,我也使用上面的slave命令启动了slave。在下面的图片中可以看到,两位工作人员&主人都开始了& ALIVE。并非所有在Spark Standalone集群中使用的节点

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

Spark Standalone Cluster UI

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

编辑:请参阅此执行器摘要的照片,其中VM 1st中的worker对应的执行程序失败。

Executor Summary

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

error

+0

您确定您正在处理的输入数据是否足够大,可以在2个执行程序之间进行拆分? –

错误得到解决。 Spark无法在第一台虚拟机上创建日志目录。我提交Spark作业的用户没有权限在路径/usr/local/spark上创建文件。只是改变目录的读/写权限(chmod -R 777 /usr/local/spark)就诀窍了。