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

时间:2016-06-30 09:07:53

标签: java hadoop apache-spark

我试图运行Eclipse中的火花示例并收到此一般错误:Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources.

我的版本是spark-1.6.2-bin-hadoop2.6.我使用shell中的./sbin/start-master.sh命令启动了spark,并将sparkConf设置为:

SparkConf conf = new SparkConf().setAppName("Simple Application");
conf.setMaster("spark://My-Mac-mini.local:7077");

我之前没有带任何其他代码,因为我运行的任何示例都会弹出此错误。该机器是Mac OSX,我很确定它有足够的资源来运行最简单的例子。

我错过了什么?

6 个答案:

答案 0 :(得分:1)

错误表明您的群集资源不足以用于当前作业。因为您尚未启动奴隶,即工作人员。群集将没有任何资源分配给您的工作。启动奴隶会有效。

`start-slave.sh <spark://master-ip:7077>`

答案 1 :(得分:1)

我在我的本地 Mac 机器上有一个独立的集群设置,有 1 个主节点和 1 个工作节点。工人与主人相连,一切似乎都很好。但是,为了节省内存,我想我只会用 500M 内存启动工作程序,但我遇到了这个问题。我用 1G 内存重新启动了工作程序,它工作了。

'id': '123'

答案 2 :(得分:0)

您的答案解决方案

<强>原因

  1. Spark Master没有分配任何资源来执行Job,如工作节点或从节点。
  2. <强>修正

    1. 您必须通过连接主节点来启动从属节点,例如/ SPARK_HOME / sbin&gt; ./start-slave.sh spark:// localhost:7077 (如果您的本地节点中的主人)
    2. <强>结论

      1. 在spark-submit期间启动主节点和从属节点,这样您就可以获得足够的资源来执行作业。
      2. <强>复用的方式

        1. 您需要在spark-env.sh文件中进行必要的更改,不建议这样做。

答案 3 :(得分:0)

我遇到了同样的问题,这是因为工人无法与驾驶员沟通。

您需要在spark.driver.port的驱动程序中设置spark.driver.host(并在驱动程序上打开所述端口),spark.driver.bindAddressspark-submit

答案 4 :(得分:0)

如果您尝试使用IDE运行应用程序,并且您的工作人员拥有免费资源,则需要执行以下操作:

1)首先,配置工作节点和主Spark节点。

2)指定驱动程序(PC)配置以从工作程序返回计算值。

sub1.userdomain.com

答案 5 :(得分:-1)

尝试使用“spark://127.0.0.1:7077”作为主地址而不是* .local名称。有时java无法解析.local地址 - 原因我不明白。