在Spark 0.9.0上运行作业会引发错误

我安装了Apache Spark 0.9.0群集,我正在尝试部署从HDFS读取文件的代码。 这段代码会发出警告,最终失败。 这是代码

/** * running the code would fail * with a warning * Initial job has not accepted any resources; check your cluster UI to ensure that * workers are registered and have sufficient memory */ object Main extends App { val sconf = new SparkConf() .setMaster("spark://labscs1:7077") .setAppName("spark scala") val sctx = new SparkContext(sconf) sctx.parallelize(1 to 100).count } 

以下是警告消息

初始工作没有接受任何资源; 检查群集UI以确保已注册工作并具有足够的内存

如何摆脱这个或我错过了一些配置。

当你通过设置spark.cores.maxspark.executor.memory resp’请求的内核数量或RAM(每个节点)超过可用数量时,你就会得到这个。 因此,即使没有其他人正在使用群集,并且您指定要使用,例如每个节点100GB RAM,但您的节点只能支持90GB,那么您将收到此错误消息。

公平地说,在这种情况下,信息是模糊的,如果它说超出最大值,那将更有帮助。

看起来Spark master无法为此任务分配任何工作人员。 工人没有开始或他们都忙。

检查主节点上的Spark UI(默认情况下,在spark-env.sh ,8080中由spark-env.sh指定的端口)。 它应该如下所示: SparkUI示例

要使群集正常运行:

  • 必须有一些国家“活着”的工人
  • 必须有一些可用的核心(例如,如果所有核心都忙于冻结任务,则群集将不接受新任务)
  • 必须有足够的可用内存

还要确保您的火花工人可以与驾驶员进行双向沟通。 检查防火墙等

我有这个问题。 我有一个简单的1节点Spark群集,并且在尝试运行我的Spark应用程序时遇到此错误。

我查看了上面的一些建议,当我尝试针对集群运行Spark shell时,我无法在UI中看到这一点,我开始怀疑我的集群无法正常工作。

在我的hosts文件中,我有一个条目,比如SparkNode ,它引用了正确的IP地址。

我无意中将错误的IP地址放在conf/spark-env.sh文件中,而SPARK_MASTER_IP变量。 我将其更改为SparkNode ,我还将SPARK_LOCAL_IP更改为指向SparkNode

为了测试这个,我在浏览器中使用SparkNode:7077打开了UI,我可以看到Spark运行的实例。

然后我使用Wildfires建议运行Spark shell,如下所示:

 MASTER=spark://SparkNode:7077 bin/spark-shell 

回到用户界面,我现在可以看到Spark shell应用程序正在运行,这是我之前无法做到的。

所以我退出Spark shell并使用Spark Submit运行我的应用程序,它现在可以正常工作。

绝对值得检查所有IP和主机条目,这是我的问题的根本原因。

您需要指定正确的SPARK_HOME和驱动程序的IP地址,以防Spark无法找到您的Netty jar服务器。 请注意,您的Spark主机应该监听您认为使用的正确IP地址。 这可以通过在文件spark-env.sh中设置SPARK_MASTER_IP = yourIP来完成。

  val conf = new SparkConf() .setAppName("test") .setMaster("spark://yourSparkMaster:7077") .setSparkHome("YourSparkHomeDir") .set("spark.driver.host", "YourIPAddr") 

检查有关主机名,IP地址和环回的错误。 请务必设置SPARK_LOCAL_IPSPARK_MASTER_IP

我有类似的问题初始作业没有接受任何资源,通过在spark-env.sh上指定spark正确的下载URL或在所有从站上安装spark来修复它。

export SPARK_EXECUTOR_URI = http://mirror.fibergrid.in/apache/spark/spark-1.6.1/spark-1.6.1-bin-hadoop2.6.tgz

初始工作没有接受任何资源; 检查群集UI以确保已注册工作并具有足够的内存