1. HADOOP_CONF_DIR & spark-env. sh
При запуске искры с помощью Yarn вам необходимо добавить следующую строку в spark-env.sh
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
Примечание: проверьте, что $ HADOOP_HOME / etc / has oop является правильным в вашей среде. И spark-env.sh
также содержит экспорт HADOOP_HOME.
Убедитесь, что HADOOP_CONF_DIR или YARN_CONF_DIR указывает на каталог, содержащий файлы конфигурации (на стороне клиента) для кластера Had oop. Эти конфигурации используются для записи в HDFS и подключения к YARN ResourceManager. Конфигурация, содержащаяся в этом каталоге, будет распространена в кластер YARN, чтобы все контейнеры, используемые приложением, использовали одну и ту же конфигурацию.
2. spark-defaults.conf
Все ваши конфигурации, связанные с памятью, будут в файле spark-defaults.conf
. При запуске Spark на YARN в кластерном режиме переменные среды необходимо установить с помощью свойства spark.yarn.appMasterEnv. [EnvironmentVariableName] в файле conf / spark-defaults.conf. Переменные среды, заданные в spark-env. sh, не будут отражены в процессе мастера приложений YARN в кластерном режиме. Для получения дополнительной информации см. Свойства искры, связанные с пряжей.
3. перезаписать конфигурации с помощью конфигураций диспетчера приложений
Согласно документации Spark, ясно сказано, что если вы настроили диспетчер кластеров пряжи, тогда он будет перезаписывать настройку spark-env. sh. Можете ли вы просто проверить в файле Yarn-env или yarn-site настройку папки локального каталога.
"это будет переопределено переменными среды SPARK_LOCAL_DIRS (автономный, Mesos) или LOCAL_DIRS (YARN), установленными диспетчером кластера . " источник - https://spark.apache.org/docs/2.3.1/configuration.html