我正在实现Apache Spark RDD,但我不断收到此错误:
Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources
我知道我有大量数据(10gb +),但是我应该能够分配足够的资源来运行我的应用程序。
有什么方法可以知道我的RDD大小,然后分配必要的资源吗?独立应用程序的建议配置是什么?由于我只使用计算机(16GB RAM,还剩100GB磁盘空间),我应该使用8核还是4核?
亲切的问候
PYSPARK_PYTHON=python3 spark-submit --master spark://luiscosta:7077 --driver-cores 4 --driver-memory 70g --num-executors 2 --executor-memory 50g --executor-cores 4 --conf spark.driver.maxResultSize="0" spark_preprocessing.py
编辑
我设法解决了initial job
错误。但是,运行45分钟后,我的堆空间不足。
有什么办法可以找到平衡点,以便我有足够的资源和堆空间?我基本上减少了驱动程序的内存并增加了执行程序的数量。我真的不明白这是如何解决我的资源问题的,也不知道为什么我的应用程序用完了堆空间。
PYSPARK_PYTHON=python3 spark-submit --master spark://luiscosta:7077 --driver-cores 4 --driver-memory 8g --num-executors 3 --executor-memory 14G --executor-cores 4 --conf spark.driver.maxResultSize="0" spark_preprocessing.py
答案 0 :(得分:0)
我修复了。
据我了解,Initial job has not accepted any resources
错误与spark.executor-memory
和Java Heap Space
与spark.driver.memory
相关。我调整了这些参数,一切运行正常。