我使用Apache Mesos在集群模式下运行Apache Spark。但是,当我启动Spark-Shell运行一个简单的测试命令(sc.parallelize(0到10,8).count)时,我收到以下警告消息:
16/03/10 11:50:55 WARN TaskSchedulerImpl:初始作业未接受任何资源;检查您的集群UI以确保工作人员已注册并具有足够的资源
如果我查看Mesos WebUI,我可以看到Spark-Shell被列为框架,我列出了一个奴隶(我自己的机器)。任何帮助如何解决它?
答案 0 :(得分:2)
虽然大多数其他答案都侧重于火花从站上的资源分配(内核,内存),但我想强调防火墙可能会导致完全相同的问题,尤其是当您在云平台上运行spark时。
如果您可以在Web UI中找到火花从属,那么您可能已经打开了标准端口8080,8081,7077,4040。但是,当您实际运行作业时,它使用SPARK_WORKER_PORT
,{{1} }和spark.driver.port
默认情况下是随机分配的。如果您的防火墙阻止了这些端口,则主服务器无法从从服务器检索任何特定于作业的响应并返回错误。
您可以通过打开所有端口来运行快速测试,并查看从属设备是否接受作业。