web-dev-qa-db-fra.com

Spark-submit ne fonctionne pas lorsque le fichier jar de l'application est en hdfs

J'essaie de lancer une application spark avec bin/spark-submit. Lorsque je référence mon fichier d'application dans mon système de fichiers local, cela fonctionne. Cependant, lorsque j'ai copié mon application dans un répertoire en hdfs, j'obtiens l'exception suivante: 

Avertissement: Ignorer le fichier jar distant hdfs: // localhost: 9000/user/hdfs/jars/simple-project-1.0-SNAPSHOT.jar ..__ Java.lang.ClassNotFoundException: com.example.SimpleApp

Voici la commande:

$ ./bin/spark-submit --class com.example.SimpleApp --master local hdfs://localhost:9000/user/hdfs/jars/simple-project-1.0-SNAPSHOT.jar

J'utilise hadoop version 2.6.0, spark version 1.2.1

28
dilm

La seule façon dont cela a fonctionné pour moi, quand j'utilisais 

- groupe de fils maître

19
Romain

Pour rendre la bibliothèque HDFS accessible au travail par étincelle, vous devez exécuter le travail en mode cluster.

$SPARK_HOME/bin/spark-submit \
--deploy-mode cluster \
--class <main_class> \
--master yarn-cluster \
hdfs://myhost:8020/user/root/myjar.jar

En outre, Spark JIRA est généré pour le mode client, qui n'est pas encore pris en charge.

SPARK-10643 : Support du téléchargement d'application HDFS en mode client spark submit

8
Sanjiv

Il y a une solution de contournement. Vous pouvez monter le répertoire dans HDFS (qui contient votre fichier jar d’application) en tant que répertoire local.

J'ai fait la même chose (avec le stockage blob Azure, mais il devrait être similaire pour HDFS)

exemple de commande pour Azure wasb

Sudo mount -t cifs //{storageAccountName}.file.core.windows.net/{directoryName} {local directory path} -o vers=3.0,username={storageAccountName},password={storageAccountKey},dir_mode=0777,file_mode=0777

Maintenant, dans votre commande spark submit, vous fournissez le chemin de la commande ci-dessus 

$ ./bin/spark-submit --class com.example.SimpleApp --master local {local directory path}/simple-project-1.0-SNAPSHOT.jar

0
amit kapoor