Spark kann Hadoop S3A-Dateisystem org.apache.hadoop.fs.s3a.S3AFileSystem
verwenden. Folgendes in die conf/spark-defaults.conf
Durch das Hinzufügen kann ich Funkenschale mit dem S3 Eimer zu protokollieren:Spark History Server auf S3A FileSystem: ClassNotFoundException
spark.jars.packages net.java.dev.jets3t:jets3t:0.9.0,com.google.guava:guava:16.0.1,com.amazonaws:aws-java-sdk:1.7.4,org.apache.hadoop:hadoop-aws:2.7.3
spark.hadoop.fs.s3a.impl org.apache.hadoop.fs.s3a.S3AFileSystem
spark.eventLog.enabled true
spark.eventLog.dir s3a://spark-logs-test/
spark.history.fs.logDirectory s3a://spark-logs-test/
spark.history.provider org.apache.hadoop.fs.s3a.S3AFileSystem
Spark-History Server lädt auch Konfiguration von conf/spark-defaults.conf
, aber es scheint nicht spark.jars.packages
Konfiguration zu laden, und wirft ClassNotFoundException
:
Exception in thread "main" java.lang.ClassNotFoundException: org.apache.hadoop.fs.s3a.S3AFileSystem
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.apache.spark.util.Utils$.classForName(Utils.scala:225)
at org.apache.spark.deploy.history.HistoryServer$.main(HistoryServer.scala:256)
at org.apache.spark.deploy.history.HistoryServer.main(HistoryServer.scala)
Die Spark-Quellcode für das Laden Konfiguration unterscheidet sich in SparkSubmitArguments.scala und in HistoryServerArguments.scala, insbesondere die HistoryServerArguments scheint nicht Pakete zu laden.
Gibt es eine Möglichkeit, die org.apache.hadoop.fs.s3a.S3AFileSystem
Abhängigkeit zum History Server hinzuzufügen?