【问题标题】:apache spark yarn cluster阿帕奇火花纱线集群
【发布时间】:2014-12-17 10:02:42
【问题描述】:
我正在尝试在 yarn-client 模式下运行 spark 独立应用程序(没有 spark-submit)。我在类路径中提供了 spark-assembly-1.1.0-hadoop2.4.0.jar 和 hadoop conf (yarn-site.xml),但 yarn 没有从 yarn-site.xml 中选择 ResourceManager url,而是默认为 8032 端口。
谢谢
【问题讨论】:
标签:
scala
hadoop
apache-spark
hadoop-yarn
【解决方案1】:
请注意,如果您在classpath 中添加了多个路径,则必须将HADOOP_CONF_DIR 设为第一个。
这是我的应用程序的启动脚本:
set HADOOP_CONF_DIR=D:\data\yarnv2_5\Hadoop\etc\hadoop
set PATH=%PATH%;D:\data\AppDependencies\jdk1.8\bin
set JAVA_HOME=D:\data\AppDependencies\jdk1.8
set AKKA_HOME=%~dp0
set JAVA_OPTS=-Xmx100g -Xms1024M -Xss1M -XX:MaxPermSize=256M -XX:+UseParallelGC -Dfile.encoding=UTF8
set AKKA_CLASSPATH=%AKKA_HOME%\*
rem The order matters! Be sure to put HADOOP_CONF_DIR in the first place.
set APP_CLASSPATH = %HADOOP_CONF_DIR%;%AKKA_CLASSPATH%
java %JAVA_OPTS% -cp "%IN4_CLASSPATH%" com.Application
如果您在classpath 中选择多个路径,Hadoop(或更准确地说,JVM)将在找到配置文件后停止。第一个路径往往是您当前的路径,它将在您的 spark-assembly-1.x.x-hadoop-2.x.x.jar 中找到配置文件,而您在 HADOOP_CONF_DIR 中的配置将不起作用。