首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >方案没有FileSystem :空

方案没有FileSystem :空
EN

Stack Overflow用户
提问于 2015-09-08 17:35:22
回答 2查看 3.7K关注 0票数 0

我正在尝试运行一个jar (maven项目)使用"hadoop -jar“,我得到一个错误"No FileSystem for scheme”。我一直在阅读有关堆栈溢出的这个错误,似乎问题出在META-INF/services/org.apache.hadoop.fs.FileSystem.内部我的是这样的:

代码语言:javascript
复制
org.apache.hadoop.fs.LocalFileSystem
org.apache.hadoop.fs.viewfs.ViewFileSystem
org.apache.hadoop.fs.ftp.FTPFileSystem
org.apache.hadoop.fs.HarFileSystem

HDFS线路丢失。这是我的代码的一部分:

代码语言:javascript
复制
public int run(String[] args) throws Exception {   
     Configuration conf=getConf();    conf.set("fs.hdfs.impl",org.apache.hadoop.hdfs.DistributedFileSystem.class.getName());       conf.set("fs.file.impl",org.apache.hadoop.fs.LocalFileSystem.class.getName()); 
       args = new GenericOptionsParser(conf, args).getRemainingArgs();       
     Job job = Job.getInstance(conf,"Count");
     job.setInputFormatClass(ImageBundleInputFormat.class);
     job.setMapperClass(CountMapper.class);
     job.setReducerClass(CountReducer.class);
     job.setMapOutputKeyClass(IntWritable.class);
     job.setMapOutputValueClass(IntWritable.class);
     job.setOutputKeyClass(IntWritable.class);
     job.setOutputValueClass(Text.class);
     FileInputFormat.setInputPaths(job, new Path(args[0]));
     FileOutputFormat.setOutputPath(job, new Path(args[1]));
     job.addCacheFile(new URI("//path/lbpcascade_frontalcatface.xml"));
     job.setJarByClass(Count.class);
     boolean success = job.waitForCompletion(true);
     return success ? 0 : 1;
   }

public static void main(String[] args) throws Exception {


       ToolRunner.run(new Count(), args);
       System.exit(0);
   }

错误在boolean success =job.waitForCompletion(True)行;如果有任何帮助,我们将不胜感激。谢谢!:)

EN

回答 2

Stack Overflow用户

发布于 2015-09-11 14:04:31

您不需要在作业中指定文件系统实现,除非您不想覆盖某些内容。

您的集群配置文件在哪里?(hdfs-site.xml、core-site.xml等)

请确保您的HADOOP_CONF_DIR环境变量指向它们,并且它们已正确配置。

您的fs.defaultFS属性配置是什么?

票数 0
EN

Stack Overflow用户

发布于 2018-04-04 11:28:54

我遇到了类似的问题,花了很多时间尝试通过问题进行调试。在我的例子中,我在windows上使用的是spark mlib,代码主要是

sparksess = SparkSession.builder.appName("..").config("spark.master","local*)....

sparksess.creatDataFrame(..)

解决方案是spark会话构建器中的spark.local.dir和spark.sql.warehouse.dir应该以windows的特定格式指定路径,比如/D:/sparkworkdir。希望为某人节省了一些时间

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32454214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档