Spark может использовать файловую систему Hadoop S3A org.apache.hadoop.fs.s3a.S3AFileSystem
. Добавляя следующее в conf/spark-defaults.conf
, я могу получить искру-оболочку для входа в S3 ведро:Spark History Server на 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
Спарк История Сервер также загружает конфигурацию из conf/spark-defaults.conf
, но это, кажется, не загружать spark.jars.packages
конфигурацию, и бросает 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)
Искра исходный код для загрузки конфигурации отличается в SparkSubmitArguments.scala и в HistoryServerArguments.scala, в частности HistoryServerArguments, кажется, не загружать пакеты.
Есть ли способ добавить зависимость org.apache.hadoop.fs.s3a.S3AFileSystem
к серверу истории?