`
kane_xie
  • 浏览: 143152 次
社区版块
存档分类
最新评论

spark WARN TaskSchedulerImpl: Initial job has not accepted any resources

阅读更多

在本地提交一个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
……

 

这里显示我的IP是192.168.56.1,但实际上这是我的windows虚拟机的IP地址,而我本机的IP地址是192.168.100.151.

 

在提交spark job之后,server端需要反馈进度给driver host,所以反馈消息被发送到了虚拟机上而本机并没有收到,导致这个异常的发生。所以如果你的机器上装有虚拟机,在运行spark程序之前,最好用ifconfig <interface> down把虚拟机网卡关掉。

1
1
分享到:
评论
1 楼 xuedihualu 2016-02-02  
请问您是如何把SparkContext的内容打印出来的,能方便告诉一下方法么

相关推荐

Global site tag (gtag.js) - Google Analytics