版本
Apache Spark 2.2.0
Hadoop 2.7
我想设置Apache Spark历史服务器。
Spark事件日志位于亚马逊S3中。
我可以将日志文件保存在S3中,但不能从历史服务器读取。
安装在/usr/local/spark上的Apache 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/中安装了这两个jar文件
aws-java-sdk-1.7.4.jar
hadoop-aws-2.7.3.jar但是错误是一样的。
怎么啦?
发布于 2018-01-28 15:38:43
请在spark-defaults.conf文件中添加以下内容,然后重试。
spark.driver.extraClassPath :/usr/lib/hadoop/hadoop-aws.jar:/usr/share/aws/aws-java-sdk/*:spark.driver.extraClassPath :/usr/lib/hadoop/hadoop-aws.jar:/usr/share/aws/aws-java-sdk/*
https://stackoverflow.com/questions/48419110
复制相似问题