gpt4 book ai didi

hadoop - 无法在 yarn 模式下启动 Spark Shell

转载 作者:可可西里 更新时间:2023-11-01 15:51:12 24 4
gpt4 key购买 nike

无法在 yarn 模式下启动 Spark Shell。当我运行此 ./spark-shell --master yarn --deploy-mode client 它永远卡在这里打印相同的消息。

18/03/14 20:11:38 INFO Client: 
client token: N/A
diagnostics: N/A
ApplicationMaster host: N/A
ApplicationMaster RPC port: -1
queue: default
start time: 1521058297214
final status: UNDEFINED
tracking URL: http://ip-172-31-0-54:8088/proxy/application_1521058273627_0001/
user: centos
18/03/14 20:11:39 INFO Client: Application report for application_1521058273627_0001 (state: ACCEPTED)
18/03/14 20:11:40 INFO Client: Application report for application_1521058273627_0001 (state: ACCEPTED)
18/03/14 20:11:41 INFO Client: Application report for application_1521058273627_0001 (state: ACCEPTED)

资源管理器 UI 显示已接受:WAITING AM 容器分配、启动并向 RM 注册,并且永远不会离开此状态。

这是我的配置文件

核心站点.xml

<?xml version="1.0"?>
<!-- core-site.xml -->
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://NameNode:8020/</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
</configuration>

hdfs-site.xml

<?xml version="1.0"?>
<!-- hdfs-site.xml -->
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop_work/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop_work/hdfs/datanode</value>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>file:/usr/local/hadoop_work/hdfs/namesecondary</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.block.size</name>
<value>134217728</value>
</property>
</configuration>

yarn-site.xml

<?xml version="1.0"?>
<!-- yarn-site.xml -->
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>NameNode</value>
</property>
<property>
<name>yarn.resourcemanager.bind-host</name>
<value>0.0.0.0</value>
</property>
<property>
<name>yarn.nodemanager.bind-host</name>
<value>0.0.0.0</value>
</property>
<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.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>file:/usr/local/hadoop_work/yarn/local</value>
</property>
<property>
<name>yarn.nodemanager.log-dirs</name>
<value>file:/usr/local/hadoop_work/yarn/log</value>
</property>
<property>
<name>yarn.nodemanager.remote-app-log-dir</name>
<value>hdfs://NameNode:8020/var/log/hadoop-yarn/apps</value>
</property>
</configuration>

ma​​pred-site.xml 是空的,因为我使用 Spark 而不是 map reduce

版本:Spark 2.3 和 Hadoop 2.7.3

未知数

谷歌搜索后我看到 SPARK_DIST_CLASSPATH 但它没有在 spark-env.sh 中列出但是有 SPARK_CLASSPATH 并且不确定我是否需要设置它或者是否以上问题与此有关吗?

不确定为什么我无法在 yarn 模式下生成 spark shell 以及如何修复?有什么想法吗?

最佳答案

您应该查看 Yarn UI,看看您的 Spark 作业是否要求比 Yarn 必须提供的更多的内存或内核。

您可能要求为您的 Spark 执行程序提供比 Yarn 可用的内存或内核更多的内存或内核。在这种情况下,您应该将 spark 执行器的大小设置为合适的大小。为此,您需要在 $SPARK_HOME/conf/spark-defaults.conf 文件中设置这些设置

spark.driver.memory Spark 执行器内存 Spark .executor.cores

此外,当您使用 spark-submit 提交作业时,您可以使用标志 --num-executors 来指定您想要的执行器数量。

这篇帖子介绍了两边的内存设置: Spark Yarn Memory configuration

此外,在 yarn-site.xml 中也有类似的设置,用于控制总共可以使用多少个内核以及每个容器:

yarn.nodemanager.resource.cpu-vcores
yarn.scheduler.minimum-allocation-vcores
yarn.scheduler.maximum-allocation-vcores

关于hadoop - 无法在 yarn 模式下启动 Spark Shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49287100/

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