Apache искровой кластер пряжи
Я пытаюсь запустить отдельное приложение в режиме пряжи-клиента (без spark-submit). Я дал spark-assembly-1.1.0-hadoop2.4.0.jar и hadoop conf (yarn-site.xml) в пути к классам, но yarn не выбирает URL-адрес ResourceManager из yarn-site.xml, вместо этого по умолчанию используется порт 8032.
Спасибо
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.xx-hadoop-2.xxjar, и ваша конфигурация в HADOOP_CONF_DIR не будет иметь никакого эффекта.