在windows環(huán)境下使用Intellij idea遠(yuǎn)程執(zhí)行spark程序時(shí),遇到了以下問(wèn)題:
Intellij控制臺(tái)輸出警告:WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources
此時(shí)程序會(huì)一直loading,running,loading,running…的循環(huán),并持續(xù)出現(xiàn)上面的警告。
出現(xiàn)這個(gè)錯(cuò)誤可能有幾種原因:
- host配置不正確
- worker內(nèi)存不足
- 相關(guān)端口號(hào)被占用
針對(duì)第二種原因,通過(guò)修改配置文件中worker和master使用內(nèi)存資源的參數(shù)即可解決。
針對(duì)第三種原因,可以查看占用端口的程序并將其關(guān)閉,或者重啟spark集群。
解決方法:
1. 修改本機(jī)hosts文件,在修改第一行,添加自己的hostName,如:
127.0.0.1 bob-PC
2.在spark集群的所有節(jié)點(diǎn)的hosts中添加本地提交任務(wù)的windows節(jié)點(diǎn)的ip和hostname,如:
192.168.189.19 bob-PC