Сбой поезда PredictionIO в HDInsight Yarn Cluster

Я попытался запустить команду pio train в кластере HDInsight Spark, используя следующую команду

pio train -- --deploy-mode cluster --master yarn

Но была предоставлена ​​​​следующая ошибка

2018-11-05 11:40:05 WARN  NativeCodeLoader:62 - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Exception in thread "main" java.io.IOException: No FileSystem for scheme: wasb
        at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2660)
        at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2667)
        at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:94)
        at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2703)
        at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2685)
        at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:373)
        at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:172)
        at org.apache.spark.deploy.yarn.Client$$anonfun$5.apply(Client.scala:121)
        at org.apache.spark.deploy.yarn.Client$$anonfun$5.apply(Client.scala:121)
        at scala.Option.getOrElse(Option.scala:121)
        at org.apache.spark.deploy.yarn.Client.<init>(Client.scala:121)
        at org.apache.spark.deploy.yarn.YarnClusterApplication.start(Client.scala:1520)
        at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:894)
        at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:198)
        at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:228)
        at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:137)
        at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
2018-11-05 11:40:07 INFO  ShutdownHookManager:54 - Shutdown hook called

Я использую следующий скрипт для проверки подключения, и проблем нет, скрипт успешно подключается и возвращает доступные элементы из хранилища Azure.

hadoop fs -ls wasb://my_container_name@my_blob_account_name.blob.core.windows.net

Есть у кого идеи с решением проблемы?


person Anar Bagirov    schedule 05.11.2018    source источник


Ответы (1)


Были те же проблемы, когда Hadoop поддерживал протокол wasb://, но не pio Согласно https://github.com/hning86/articles/blob/master/hadoopAndWasb.md Вы должны использовать hadoop-azure-2.7.1.jar и azure- storage-2.0.0.jar в вашем CLASSPATH

Чтобы решить эту проблему, вам нужно добавить две банки в CLASSPATH самого pio.

В PredictionIO 0.13.1, согласно /usr/local/pio/bin/compute-classpath.sh, этого можно добиться, добавив jar в подкаталог plugins.

ls /usr/local/pio/plugins/azure-storage-2.0.0.jar ls /usr/local/pio/plugins/hadoop-azure-2.7.1.jar

person random    schedule 11.12.2018