我正试图在纱线客户端模式下运行单独的火花站应用程序(使用spark-submit)。我在类路径中给了spark-assembly-1.1.0-hadoop2.4.0.jar和hadoop conf(yarn-site.xml),但是yarn没有从yarn-site.xml中选择ResourceManager url,而是默认为8032端口。
谢谢
答案 0 :(得分:0)
请注意,如果您在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中的配置将显示无效。