环境:
Ubuntu 10.04
用户:hep,主机名:hep-ubuntu,IP:192.168.1.251
Hadoop 1.1.2
Hadoop-eclipse-plugin-1.1.2.jar
Eclipse 4.2.2
代码:
Exception in thread "main" java.lang.IllegalArgumentException: Wrong FS: hdfs://192.168.1.251:9000/home/hep/hadoop-hep/mapred/system/jobtracker.info, expected: file:/// at org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:381) at org.apache.hadoop.fs.RawLocalFileSystem.pathToFile(RawLocalFileSystem.java:55) at org.apache.hadoop.fs.LocalFileSystem.pathToFile(LocalFileSystem.java:61) at org.apache.hadoop.fs.LocalFileSystem.exists(LocalFileSystem.java:51) at cn.cvu.hdfs.TestHdfs.main(TestHdfs.java:19)根据提示,修改Path:
package cn.cvu.hdfs; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; public class TestHdfs { public static void main(String[] args) throws Exception { Path f=new Path("file:///192.168.1.251:9000/home/hep/hadoop-hep/mapred/system/jobtracker.info"); //1. Configuration conf = new Configuration(); //2. FileSystem fs = FileSystem.get(conf); //3. boolean b = fs.exists(f); System.out.println(b); } }结果:
此问题已结。怎么解决的?你的hdfs:///为什么是三个斜线?不应该两个吗?你试试报错提示:expected:file:///保持提示说:expected:file:///file:///192.168..... 没这写法哦,你协议没搞对吧
回复<aclass='referer'target='_blank'>@逝水fox:什么默认系统?core-site.xml?<property><name>fs.default.name</name><value>hdfs://localhost:9000</value></property>回复<aclass='referer'target='_blank'>@vigiles:不能直接/是你忘了改hadoop的默认文件系统吧...在0.20版甚至直接/开始路径即可,是不是版本的问题?报错提示:expected:file:///回复<aclass='referer'target='_blank'>@王维琛:
//1.配置器
Configurationconf=newConfiguration();
conf.addResource(newPath("/home/hm/hadoop-1.1.2/conf/core-site.xml"));
//2.文件系统
FileSystemfs=FileSystem.get(conf);
//3.已存在的文件
Pathpath=newPath("/home/hm/hadoop-hm/mapred/system/jobtracker.info");
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。