我创建了一个带有两个虚拟机的Spark Standalone Cluster
在第一个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命令启动了从站。在下面的图片中可以看到工人和工作人员。主人已经开始&amp; ALIVE。
但是当我运行我的Spark应用程序时,只运行第二个VM中的worker(worker-20160613102937-10.0.37.150-47668
)。第一个VM(worker-20160613103042-10.0.37.142-52601
)的工作程序未运行。见下面的图片
我希望两个工作者都应该在我的Spark应用程序中使用。怎么办呢?
编辑:请参阅此执行程序摘要的图片,其中与VM 1中的工作程序对应的执行程序失败。
当我点击任意stdout
或stderr
时,会显示错误invalid log directory
。见下面的图片
答案 0 :(得分:0)
错误已解决。 Spark无法在第一个VM上创建日志目录。我提交Spark作业的用户没有权限在路径/usr/local/spark
上创建文件。只需更改目录(chmod -R 777 /usr/local/spark
)的读/写权限就可以了。