gpt4 book ai didi

java - 无法从spark中的java代码启 Action 业;初始作业尚未接受任何资源

转载 作者:行者123 更新时间:2023-12-01 08:55:47 25 4
gpt4 key购买 nike

您好,我在 JAVA 中的 Spark 配置是:

ss=SparkSession.builder()
.config("spark.driver.host", "192.168.0.103")
.config("spark.driver.port", "4040")
.config("spark.dynamicAllocation.enabled", "false")
.config("spark.cores.max","1")
.config("spark.executor.memory","471859200")
.config("spark.executor.cores","1")
//.master("local[*]")
.master("spark://kousik-pc:7077")
.appName("abc")
.getOrCreate();

现在,当我从内部代码提交任何作业(不是提交 jar)时,我收到警告:

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

spark UI 是 enter image description here

屏幕截图中的工作程序是从命令启动的:

~/spark/sbin/start-slave.sh

所有处于等待阶段的四个作业都是从java代码提交的。尝试了所有站点的所有解决方案。任何想法请。

最佳答案

根据我的理解,您想仅使用一个执行器核心来运行 Spark 作业,您不必指定 spark.executor.cores

spark.cores.max应该只为每个作业分配一个核心,因为它的值为 1。

spark-submit command 中提供诸如主控、执行程序内存/核心等配置详细信息始终是一种良好的做法。如下所示:

./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://xxx.xxx.xxx.xxx:7077 \
--executor-memory 20G \
--total-executor-cores 100 \
/path/to/examples.jar \
1000

如果您想明确指定每个作业的执行器数量,请使用 --total-executor-cores在你的spark-submit命令

查看文档 here

关于java - 无法从spark中的java代码启 Action 业;初始作业尚未接受任何资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42045847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com