【问题标题】:Spark on Yarn job not being accepted by Yarn: YarnScheduler:66 - Initial job has not accepted any resourcesYarn 未接受 Yarn 作业上的 Spark:YarnScheduler:66 - 初始作业未接受任何资源
【发布时间】:2019-08-06 17:20:14
【问题描述】:

当我在 spark-shell (master - yarn) 中执行任何命令时,我收到 YarnScheduler:66 - Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources 错误,例如一个简单的命令:sc.parallelize(1 to 10).count()。纱线日志没有多大帮助。这是我启动时的纱线日志spark-shell --master yarn --num-executors 1

2019-08-06 01:55:12 INFO  RMProxy:98 - Connecting to ResourceManager at /0.0.0.0:8030
2019-08-06 01:55:12 INFO  YarnRMClient:54 - Registering the ApplicationMaster
2019-08-06 01:55:12 INFO  YarnAllocator:54 - Will request 1 executor container(s), each with 1 core(s) and 884 MB memory (including 384 MB of overhead)
2019-08-06 01:55:12 INFO  YarnAllocator:54 - Submitted 1 unlocalized container requests.

这里是来自 yarn-site.xml 的配置:

<property> 
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value> 
</property>

<property>
  <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
  <value>org.apache.hadoop.mapred.ShuffleHandler</value> 
</property>

<property> 
  <name>yarn.scheduler.minimum-allocation-mb</name>
  <value>2048</value> 
</property>

<property> 
  <name>yarn.nodemanager.resource.memory-mb</name>
  <value>2048</value> 
</property>

<property> 
  <name>yarn.log-aggregation-enable</name>
  <value>true</value> 
</property>

<property> 
  <name>yarn.nodemanager.remote-app-log-dir</name>
  <value>/tmp/logs</value> 
</property>

这是来自 spark-defaults.conf 的配置:

spark.master                     spark://192.168.56.109:7077
spark.eventLog.enabled           false
#spark.driver.memory              3g
spark.executor.memory            512m
spark.yarn.am.memory             1g

但是,当我在 Spark 独立集群模式下运行它时没有问题。在过去的 1 周里,我尝试了所有选项来解决这个问题,但没有遇到任何运气。任何帮助将不胜感激。

谢谢,萨比亚

【问题讨论】:

    标签: apache-spark hadoop-yarn taskscheduler


    【解决方案1】:

    你的机器有足够的资源/内存吗?这个错误很自我描述,不是吗?

    单机模式和纱线模式完全不同。

    Yarn 本身是一个 java 程序,所以它也会消耗内存,这可能导致您的机器没有足够的内存来分配给 spark 作业?

    【讨论】:

    • 我在具有 9 GB 内存和 2 个内核的 Oracle Virtual Box 上运行 Redhat Linux 7。在我启动集群、yarn 和 spark 应用程序后,我仍然有 2425 MB 可用内存(+ 287 MB 缓冲区/缓存和 61 MB 共享)由 free -m 报告。 Yarn 有 2048 个内存,1 个 VCore。
    猜你喜欢
    • 2017-11-18
    • 1970-01-01
    • 2020-02-01
    • 1970-01-01
    • 2015-06-10
    • 2016-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多