我使用apachemesos在集群模式下运行apachespark。但是,当我启动sparkshell运行一个简单的测试命令(sc.parallelize(0到10,8).count)时,我收到以下警告消息:
16/03/10 11:50:55警告taskschedulerimpl:初始作业未接受任何资源;检查集群ui以确保worker已注册并且具有足够的资源
如果我检查mesoswebui,我可以看到sparkshell被列为一个框架,我已经列出了一个从机(我自己的机器)。如何排除故障有什么帮助吗?
1条答案
按热度按时间j1dl9f461#
虽然大多数其他答案都集中在spark从属服务器上的资源分配(核心、内存),但我想强调的是,防火墙可能会导致完全相同的问题,尤其是在云平台上运行spark时。
如果您可以在webui中找到spark slave,那么您可能已经打开了标准端口8080、8081、7077、4040。尽管如此,当您实际运行作业时,它使用
SPARK_WORKER_PORT
,spark.driver.port
以及spark.blockManager.port
默认情况下是随机分配的。如果防火墙阻止了这些端口,那么主服务器将无法从从属服务器检索任何特定于作业的响应并返回错误。您可以通过打开所有端口来运行快速测试,并查看从属服务器是否接受作业。