首页 > 其他 > 详细

利用MAVEN打包spark工程,运行时报错No FileSystem for scheme: file的问题

时间:2014-03-15 10:27:25      阅读:640      评论:0      收藏:0      [点我收藏+]

利用maven打包spark项目,运行生成的jar包(例如:java -jar DataAnalygis.jar hdfs://server1:8020/tasks/files),运行时报以下异常。

Exception in thread "main" java.lang.RuntimeException: java.io.IOException: No FileSystem for scheme: file
at org.apache.hadoop.mapred.JobConf.getWorkingDirectory(JobConf.java:657)
at org.apache.hadoop.mapred.FileInputFormat.setInputPaths(FileInputFormat.java:389)
at org.apache.hadoop.mapred.FileInputFormat.setInputPaths(FileInputFormat.java:362)
at org.apache.spark.SparkContext$$anonfun$15.apply(SparkContext.scala:391)
at org.apache.spark.SparkContext$$anonfun$15.apply(SparkContext.scala:391)
at org.apache.spark.rdd.HadoopRDD$$anonfun$getJobConf$1.apply(HadoopRDD.scala:111)
at org.apache.spark.rdd.HadoopRDD$$anonfun$getJobConf$1.apply(HadoopRDD.scala:111)
at scala.Option.map(Option.scala:145)

解决办法:

1)检查生成的jar中META-INF->services->org.apache.hadoop.fs.FileSystem文件,该文件中要包含FileSystem的实现。特别是

org.apache.hadoop.fs.LocalFileSystem #处理local file scheme的类

2)还有一个可能性是检查classpath是否包含hadoop-hdfs.jar,不过这种可能性比较低。一般情况下,在项目中利用maven打包,应该都配置正确的hadoop-client的依赖(dependency),因此这种错误就不是这个情况导致。

 

另外,对于hadoop的jar运行时报这个错,这种解决方法也适用。

利用MAVEN打包spark工程,运行时报错No FileSystem for scheme: file的问题,布布扣,bubuko.com

利用MAVEN打包spark工程,运行时报错No FileSystem for scheme: file的问题

原文:http://www.cnblogs.com/nb591/p/3601561.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!