0

我正在尝试在 Amazon EMR 上运行一个简单的程序,它将目录中的文本文件转换为序列文件。该程序在我的本地机器上运行良好,但在 Amazon EMR 上出现以下错误。有人可以告诉我如何摆脱这个错误。

    Configuration conf=new Configuration();

    System.out.println("fs.default.name : - " + conf.get("fs.default.name"));
    Path input=new Path(URI.create(args[0]));
    Path output=new Path(URI.create(args[1]));

    ToolRunner.run(new SequenceFilesFromDirectory(),new String[]{
        "--input",input.toString(),
        "--output",output.toString(),
        "--overwrite",
        "--method","mapreduce"});

谢谢你。

线程“main”java.lang.IllegalArgumentException 中的异常:此文件系统对象 (hdfs://172.31.4.175:9000) 不支持访问请求路径.. 您可能在应该调用 FileSystem.get(conf)调用 FileSystem.get(uri, conf) 来获取支持您的路径的文件系统。

在 org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:384) 在 org.apache.hadoop.hdfs.DistributedFileSystem.getPathName(DistributedFileSystem.java:129) 在 org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus (DistributedFileSystem.java:513) 在 org.apache.mahout.text.SequenceFilesFromDirectory.runMapReduce(SequenceFilesFromDirectory.java:140) 在 org.apache.mahout.text.SequenceFilesFromDirectory.run(SequenceFilesFromDirectory.java:89) 在 org.apache。 hadoop.util.ToolRunner.run(ToolRunner.java:65) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79) at com.gifts.text.SeqFileDirectory.main(SeqFileDirectory.java:36)在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl。在 org.apache.hadoop.util.RunJar.main(RunJar.java:187) 的 java.lang.reflect.Method.invoke(Method.java:606) 处调用(DelegatingMethodAccessorImpl.java:43)*

4

0 回答 0