【发布时间】:2018-07-03 07:11:09
【问题描述】:
[版本]
Apache Spark 2.2.0
Hadoop 2.7
我想设置 Apache Spark 历史服务器。
位于 Amazon S3 中的 Spark 事件日志。
我可以在 S3 中保存日志文件,但无法从历史服务器中读取。
Apache Spark 安装在 /usr/local/spark
所以,$SPARK_HOME 是 /usr/local/spark
$ cd /usr/local/spark/sbin
$ sh start-history-server.sh
我收到以下错误
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:335)
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:230)
....
下面是我的spark-defaults.conf
spark.hadoop.fs.s3a.impl org.apache.hadoop.fs.s3a.S3AFileSystem
spark.history.provider org.apache.hadoop.fs.s3a.S3AFileSystem
spark.history.fs.logDirectory s3a://xxxxxxxxxxxxx
spark.eventLog.enabled true
spark.eventLog.dir s3a://xxxxxxxxxxxxxxx
我在/usr/local/spark/jars/中安装了这2个jar文件
aws-java-sdk-1.7.4.jar
hadoop-aws-2.7.3.jar
但错误是一样的。
怎么了?
【问题讨论】:
-
CLASSPATH正确吗? -
@rollstuhlfahrer
$ echo $CLASSPATH /usr/local/spark/jars/aws-java-sdk-1.7.4.jar:/usr/local/spark/jars/hadoop-aws-2.7.3.jar
标签: hadoop apache-spark amazon-s3