异常:java.lang.Exception:使用主 'yarn' 运行时,必须在环境中设置 HADOOP_CONF_DIR 或 YARN_CONF_DIR。在火花
Posted
技术标签:
【中文标题】异常:java.lang.Exception:使用主 \'yarn\' 运行时,必须在环境中设置 HADOOP_CONF_DIR 或 YARN_CONF_DIR。在火花【英文标题】:Exception: java.lang.Exception: When running with master 'yarn' either HADOOP_CONF_DIR or YARN_CONF_DIR must be set in the environment. in spark异常:java.lang.Exception:使用主 'yarn' 运行时,必须在环境中设置 HADOOP_CONF_DIR 或 YARN_CONF_DIR。在火花 【发布时间】:2017-06-08 11:20:26 【问题描述】:我是新的 apache-spark。我已经在 spark 独立模式下测试了一些应用程序。但我想运行应用程序 yarn 模式。我在 windows 中运行 apache-spark 2.1.0。这是我的代码
c:\spark>spark-submit2 --master yarn --deploy-mode client --executor-cores 4 --jars C:\DependencyJars\spark-streaming-eventhubs_2.11-2.0.3.jar,C:\DependencyJars\scalaj-http_2.11-2.3.0.jar,C:\DependencyJars\config-1.3.1.jar,C:\DependencyJars\commons-lang3-3.3.2.jar --conf spark.driver.userClasspathFirst=true --conf spark.executor.extraClassPath=C:\DependencyJars\commons-lang3-3.3.2.jar --conf spark.executor.userClasspathFirst=true --class "GeoLogConsumerRT" C:\sbtazure\target\scala-2.11\azuregeologproject_2.11-1.0.jar
例外:使用 master 'yarn' 运行时,必须在环境中设置 HADOOP_CONF_DIR 或 YARN_CONF_DIR。在火花中
所以从搜索网站。我创建了一个文件夹名称 Hadoop_CONF_DIR 并将 hive site.xml 放入其中并指向环境变量,之后我运行 spark-submit 然后我得到了
连接被拒绝异常 我想我无法正确配置纱线模式。有人可以帮我解决这个问题吗?我需要分别安装 Hadoop 和 yarn 吗?我想以伪分布式模式运行我的应用程序。请帮我在 windows 中配置 yarn 模式,谢谢
【问题讨论】:
【参考方案1】:您需要导出两个变量HADOOP_CONF_DIR
和YARN_CONF_DIR
以使您的配置文件对纱线可见。如果您使用的是 linux,请在 .bashrc 文件中使用以下代码。
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
windows下需要设置环境变量。
希望这会有所帮助!
【讨论】:
感谢您的回复。我以前看过 Linux 配置,但目前我正在使用 Windows。我有 winutils 文件夹,它实际上是我的 Hadoop 主页。它是我的 Hadoop 家庭环境变量。您是指我将设置 HADOOP_CONF_DIR , YARN_CONF_DIR 作为环境变量,将指向 winutils 的 bin 文件夹? 这个对我不起作用。我根据here解决了这个问题,上面说修改spark conf文件夹中的spark_env.sh
文件
完成这项工作的最小更改是什么?你需要那个目录存在吗?【参考方案2】:
如果您使用 Yarn 运行 spark,那么您最好将其添加到 spark-env.sh
:
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
【讨论】:
以上是关于异常:java.lang.Exception:使用主 'yarn' 运行时,必须在环境中设置 HADOOP_CONF_DIR 或 YARN_CONF_DIR。在火花的主要内容,如果未能解决你的问题,请参考以下文章