Сбой spark submit, когда задан дополнительный classpath для jar-файлов, находящихся в папке hdfs - PullRequest
0 голосов
/ 29 октября 2018

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

Итак, я работаю под командой spark-submit:

spark-submit --class "com.bk.App" --master yarn --deploy-mode client --executor-cores 2  --driver-memory 1G --driver-cores 1 --driver-class-path /home/my_account/spark-jars/guava-19.0.jar  --conf spark.executor.extraClassPath=/home/my_account/spark-jars/guava-19.0.jar maprfs:///user/my_account/jobs/spark-jobs.jar parma1 parma2 

, что дает мне исключение ниже:

Downloading maprfs:///user/my_account/jobs/spark-jobs.jar to /tmp/tmp732578642370806645/user/my_account/jobs/spark-jobs.jar.
2018-10-29 19:37:52,2025 ERROR JniCommon fs/client/fileclient/cc/jni_MapRClient.cc:566 Thread: 6832 Client initialization failed due to mismatch of libraries. Please make sure that the java library version matches the native build version 5.0.0.32987.GA and native patch version $Id: mapr-version: 5.0.0.32987.GA 40889:3056362e419b $
Exception in thread "main" java.io.IOException: Could not create FileClient
    at com.mapr.fs.MapRFileSystem.lookupClient(MapRFileSystem.java:593)
    at com.mapr.fs.MapRFileSystem.lookupClient(MapRFileSystem.java:654)
    at com.mapr.fs.MapRFileSystem.getMapRFileStatus(MapRFileSystem.java:1310)
    at com.mapr.fs.MapRFileSystem.getFileStatus(MapRFileSystem.java:942)
    at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:345)
    at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:297)
    at org.apache.hadoop.fs.FileSystem.copyToLocalFile(FileSystem.java:2066)
    at org.apache.hadoop.fs.FileSystem.copyToLocalFile(FileSystem.java:2035)
    at org.apache.hadoop.fs.FileSystem.copyToLocalFile(FileSystem.java:2011)
    at org.apache.spark.deploy.SparkSubmit$.downloadFile(SparkSubmit.scala:874)
    at org.apache.spark.deploy.SparkSubmit$$anonfun$prepareSubmitEnvironment$1.apply(SparkSubmit.scala:316)
    at org.apache.spark.deploy.SparkSubmit$$anonfun$prepareSubmitEnvironment$1.apply(SparkSubmit.scala:316)
    at scala.Option.map(Option.scala:146)
    at org.apache.spark.deploy.SparkSubmit$.prepareSubmitEnvironment(SparkSubmit.scala:316)
    at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:153)
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:119)
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

Я даже попытался поместить банку с гуавой в папку hdfs и добавил дополнительный путь к классу, используя hdfs:// и даже maprfs:// в моей отправке. Пробовал давать local:// тоже. Все попадают в одно и то же исключение.

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

Есть предложения? я неправильно использую параметр path class?

...