Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources

后端 未结 5 1732
长情又很酷
长情又很酷 2020-12-31 04:23

I\'m trying to run the spark examples from Eclipse and getting this generic error: Initial job has not accepted any resources; check your cluster UI to en

相关标签:
5条回答
  • 2020-12-31 04:35

    If you try to run your application with IDE, and you have free resources on your workers, you need to do this:

    1) Before all, configure workers and master spark nodes.

    2) Specify driver(PC) configuration to return calculation value from workers.

    SparkConf conf = new SparkConf()
                .setAppName("Test spark")
                .setMaster("spark://ip of your master node:port of your master node")
                .set("spark.blockManager.port", "10025")
                .set("spark.driver.blockManager.port", "10026")
                .set("spark.driver.port", "10027") //make all communication ports static (not necessary if you disabled firewalls, or if your nodes located in local network, otherwise you must open this ports in firewall settings)
                .set("spark.cores.max", "12") 
                .set("spark.executor.memory", "2g")
                .set("spark.driver.host", "ip of your driver (PC)"); //(necessary)
    
    0 讨论(0)
  • 2020-12-31 04:44

    The error indicates that you cluster has insufficient resources for current job.Since you have not started the slaves i.e worker . The cluster won't have any resources to allocate to your job. Starting the slaves will work.

    `start-slave.sh <spark://master-ip:7077>`
    
    0 讨论(0)
  • 2020-12-31 04:48

    Solution to your Answer

    Reason

    1. Spark Master doesn't have any resources allocated to execute the Job like worker node or slave node.

    Fix

    1. You have to start the slave node by connecting with the master node like this /SPARK_HOME/sbin> ./start-slave.sh spark://localhost:7077 (if your master in your local node)

    Conclusion

    1. start your master node and also slave node during spark-submit, so that you will get the enough resources allocated to execute the job.

    Alternate-way

    1. You need to make necessary changes in spark-env.sh file which is not recommended.
    0 讨论(0)
  • 2020-12-31 04:48

    Try using "spark://127.0.0.1:7077" as a master address instead of *.local name. Sometime java is not able to resolve .local addresses - for reasons I don't understand.

    0 讨论(0)
  • 2020-12-31 04:53

    I had the same problem, and it was because the workers could not communicate with the driver.

    You need to set spark.driver.port (and open said port on your driver), spark.driver.host and spark.driver.bindAddress in your spark-submit from the driver.

    0 讨论(0)
提交回复
热议问题