我的hadoop-1.2.1配置是:
***core-site.xml***
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/dsk/hadoop/tmp-storage</value>
</property>
</configuration>
***hdfs-site.xml***
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
我想使用hadoop文件系统api来为hdfs提供新的方向。所以我在代码里写道:
@Test
public void testDirectory() throws Exception {
Configuration configuration = new Configuration();
FileSystem hdfs = HDFSUtils.getFileSystem(configuration);
Path path = new Path("/test_dir");
boolean isSuccess = hdfs.mkdirs(path);
System.out.println("mkdir test_dir" + (isSuccess ? " success" : " failure"));
}
我的 class HDFSUtils
是:
public static FileSystem getFileSystem(Configuration conf) {
FileSystem hdfs = null;
try {
hdfs = FileSystem.get(conf);
return hdfs;
} catch (Exception e) {
e.printStackTrace();
}
return hdfs;
}
我希望我的hdfs层次结构如下:
但我有 mkdir test_dir failure
当我用junit测试的时候。
我的工作ide是eclipse conf
文件夹二 xml
已包含的文件
在如何使用文件系统api操作hdfs上的文件方面,我仍然有一些问题。起初我用 URL
方法和它的工作。
String fileUrl = "hdfs://localhost:9000/firstSQL.sql";
但当我将其更改为hdfs文件系统api时,我找不到我的文件:
Configuration conf = new Configuration();
FileSystem hdfs = HDFSUtils.getFileSystem(conf);
Path path = new Path("/firstSQL.sql");
故障痕迹是 java.io.FileNotFoundException: File /firstSQL.sql does not exist.
但我真的有 firstSQL.sql
在hdfs中。
我对hdfs上文件的真实路径感到困惑。
暂无答案!
目前还没有任何答案,快来回答吧!