spark WARN TaskSchedulerImpl: Initial job has not accepted any resources 博客分类: spark spark
程序员文章站
2024-03-26 13:37:53
...
在本地提交一个spark job,出现如下错误
WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient memory
在网上搜了一下,出现这种错误一般有两种原因,
1.内存不足。
2.主机名和IP配置不正确。
检查了一下,我只是跑一个简单的测试程序,内存是完全够用的,我也在spark web console上确认了内存是足够的。
为了确认主机名和IP的问题,我把SparkContext的内容打印了出来
spark.app.id=app-20150806145030-0003
spark.app.name=Simple Application
spark.cores.max=5
spark.driver.host=192.168.56.1
spark.driver.port=61685
……
spark.app.name=Simple Application
spark.cores.max=5
spark.driver.host=192.168.56.1
spark.driver.port=61685
……
这里显示我的IP是192.168.56.1,但实际上这是我的windows虚拟机的IP地址,而我本机的IP地址是192.168.100.151.
在提交spark job之后,server端需要反馈进度给driver host,所以反馈消息被发送到了虚拟机上而本机并没有收到,导致这个异常的发生。所以如果你的机器上装有虚拟机,在运行spark程序之前,最好用ifconfig <interface> down把虚拟机网卡关掉。