Scala ApacheSpark:workers是连接的和自由的,但不接受任务

Scala ApacheSpark:workers是连接的和自由的,但不接受任务,scala,apache-spark,Scala,Apache Spark,我有一个简单的火花簇-一个主,一个从。Worker是空闲的,没有繁忙的资源 但是,当我尝试执行任何应用程序(例如spark shell中的“sc.parallelize(1到10).foreach(println)”)时,我会看到以下错误: WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered

我有一个简单的火花簇-一个主,一个从。Worker是空闲的,没有繁忙的资源

但是,当我尝试执行任何应用程序(例如spark shell中的“sc.parallelize(1到10).foreach(println)”)时,我会看到以下错误:

WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources
但是,当应用程序在与从属服务器相同的服务器上启动时,它会成功运行。看起来有人监听了错误的网络接口

配置为默认配置,使用spark from克隆

我用以下方法开始掌握:

192.168.111.204@spark > ./sbin/start-master.sh -h 192.168.111.204
奴隶:

192.168.111.230@spark > ./sbin/start-slave.sh  spark://192.168.111.204:7077 -h 192.168.111.230
应用程序:

192.168.111.229@spark > ./bin/spark-shell --master spark://192.168.111.204:7077
我应该检查什么


UPD:刚刚在两个虚拟机上尝试了相同的方法。很好。可能服务器的主机名有问题。

您可以尝试以下几点:

可能由于某些原因,从机没有分配任何内核,请尝试使用
-c
启动从机

-c CORES, --cores CORES Total CPU cores to allow Spark applications 
    to use on the machine (default: all available); only on worker

谢谢大家,问题解决了。正如我之前猜测的那样,网络是麻烦的一个原因

当spark shell和spark submit启动时,它们打开一个端口进行侦听。但是,我没有找到为此指定主机的标志。因此,他们开始监听外部接口,该端口被防火墙阻止。我不得不在conf/spark env.sh中添加以下行:

export SPARK_LOCAL_IP=192.168.111.229

我已经试过了。没有结果。无论如何,WebUI显示有很多资源。