Java 结合hadoop、spark和ceph时出现不支持的无系统异常
更新2Java 结合hadoop、spark和ceph时出现不支持的无系统异常,java,amazon-web-services,apache-spark,hadoop,bigdata,Java,Amazon Web Services,Apache Spark,Hadoop,Bigdata,更新2 非常感谢,它救了我一天。 对于Update1中引发的异常,添加以下配置: <property> <name>fs.AbstractFileSystem.s3a.impl</name> <value>org.apache.hadoop.fs.s3a.S3A</value> <description>The implementation class of the S3A AbstractFileSystem.
非常感谢,它救了我一天。 对于
Update1
中引发的异常,添加以下配置:
<property>
<name>fs.AbstractFileSystem.s3a.impl</name>
<value>org.apache.hadoop.fs.s3a.S3A</value>
<description>The implementation class of the S3A AbstractFileSystem.</description>
</property>
之后,前一个错误消失并抛出新的异常
java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.fs.s3a.S3A not found
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2195)
at org.apache.hadoop.fs.AbstractFileSystem.createFileSystem(AbstractFileSystem.java:158)
解决它
根据我目前的理解,引发UnsupportedFileSystemException
的原因是hadoop
不“知道”该文件系统的存在。通过配置文件或运行时指定特定文件系统的实现,可以解决这个问题
原创我正在使用
sparksql
在Ceph
下查询数据
目前,我的软件堆栈是hadoop 2.7.3、spark 2.3.0和Ceph夜光
根据已有的thread-like,hadoop、aws相关库和spark的版本至关重要。根据前面提到的解决方案,我正在使用hadoop-aws-2.7.3.jar
和aws-java.sdk-1.7.4.jar
。通过将这些JAR放入$SPARK_HOME/jars
,我解决了这个问题,当我在shell中运行SPARK sql
时,到目前为止,一切都运行得很好
然而,当我试图在warn
上调用sparksql
时,我又被卡住了。
我使用的命令是sparksql--master=thread
,抛出的异常是
org.apache.hadoop.fs.UnsupportedFileSystemException: fs.AbstractFileSystem.s3a.impl=null: No AbstractFileSystem configured for scheme: s3a
at org.apache.hadoop.fs.AbstractFileSystem.createFileSystem(AbstractFileSystem.java:160)
at org.apache.hadoop.fs.AbstractFileSystem.get(AbstractFileSystem.java:249)
为了解决这个问题,我尝试将hadoop-aws-2.7.3.jar
和aws-java.sdk-1.7.4.jar
放入hadoopclasspath
中,比如$hadoop\u HOME/share/hadoop/common/lib
然而,事情仍然像过去一样
也许我需要更改Spark的版本?我绞尽脑汁。欢迎发表任何意见,提前感谢您的帮助 如果你解决了你的问题,为什么不把它写下来作为这个问题的答案?@thsutton好建议,但我认为问题中的更新足以帮助可能也会出现这个问题的人。如果你解决了你的问题,为什么不把它写下来作为这个问题的答案?@thsutton好建议,但我认为问题中的更新足以帮助可能也会出现此线程的人。
org.apache.hadoop.fs.UnsupportedFileSystemException: fs.AbstractFileSystem.s3a.impl=null: No AbstractFileSystem configured for scheme: s3a
at org.apache.hadoop.fs.AbstractFileSystem.createFileSystem(AbstractFileSystem.java:160)
at org.apache.hadoop.fs.AbstractFileSystem.get(AbstractFileSystem.java:249)