2016-10-06 8 views
0

Я хочу знать, как/где искра выбирает необходимые банки.Невозможно запустить искру в HUE oozie. Исключение: «datanucleus-api-jdo-3.2.1.jar не существует»

файл: /mnt/md0/yarn/nm/usercache/kylin/appcache/application_1468506830246_161908/container_1468506830246_161908_01_000001/datanucleus-api-jdo-3.2.1.jar не существует.

<spark-opts> 
    --num-executors 30 
    --executor-memory 18g 
    --executor-cores 15 
    --driver-memory 2g 
    --files hdfs:///jobs/kylin/hive-site.xml 
    --jars datanucleus-api-jdo-3.2.1.jar,datanucleus-rdbms-3.2.1.jar,datanucleus-core-3.2.2.jar 
    --conf spark.shuffle.manager=tungsten-sort 
    --conf spark.shuffle.consolidateFiles=true 
    --conf spark.yarn.executor.memoryOverhead=3072 
    --conf spark.shuffle.memoryFraction=0.7 
    --conf spark.storage.memoryFraction=0.05 
    --conf spark.spot.instances=30 
</spark-opts> 

ответ

1

Мы должны обеспечить полный путь к баночкам, в противном случае она не будет выполнена.

Пожалуйста, проверьте приведенные ниже детали из документации искры для разных способов обеспечения --jar.

При использовании spark-submit прикладная банка вместе с любыми баночками, включенными в опцию --jars, автоматически переносится в кластер. URL-адреса, указанные после -jars, должны быть разделены запятыми. Этот список включен в пути к классам драйверов и исполнителей. Расширение каталога не работает с --jars.

Спарк использует следующую схему URL, чтобы различные стратегии распространяющих банки:

файл: - Абсолютные пути и файла:/URIs обслуживаются HTTP файловым сервером водителя, и каждый исполнитель тянет файл из HTTP-сервер драйвера.

HDFS :, HTTP :, HTTPS :, FTP: - это тянуть вниз файлы и баночки из URI, как и ожидалось

местные: - это URI, начиная с локального: /, как ожидается, существовать как локальный файл на каждом рабочем узле. Это означает, что никакой сетевой IO не будет понесен и будет хорошо работать для больших файлов/JAR, которые будут перенаправлены каждому работнику или переданы через NFS, GlusterFS и т. Д.

Обратите внимание, что JAR и файлы копируются в рабочий каталог для каждый SparkContext на узлах исполнителя. Это может потребовать значительного объема пространства с течением времени и его необходимо будет очистить. С YARN очистка обрабатывается автоматически, а с помощью Spark автономно автоматическую очистку можно настроить с помощью свойства spark.worker.cleanup.appDataTtl.

Пользователи могут также включать любые другие зависимости, предоставляя список координат maven с разделителями-запятыми --packages. Все транзитивные зависимости будут обрабатываться при использовании этой команды. Дополнительные репозитории (или резольверы в SBT) могут быть добавлены с разделителями-запятыми с помощью флагов-репозиториев. Эти команды могут использоваться с pyspark, spark-shell и spark-submit для включения Spark Packages.

Для Python эквивалентная опция -py-files может использоваться для распространения библиотек .egg, .zip и .py для исполнителей.

Для получения дополнительной информации, пожалуйста, проверьте link.

+0

Я не могу понять, что такое местоположение и как мы предоставляем банки. Еще одна вещь, такая же конфигурация работает с одним oozie/hue, но не с другим. Как отладить это? Если возможно, вы можете объяснить одним примером, как мы предоставляем местоположение банки. Благодарю. –

+0

где вы это делаете? и каков ваш путь в банке? –

+0

Если вы находитесь в баночках в HDFS, вы должны указать местоположение, если ваши банки находятся на местном уровне, вы должны указать местоположение. –