Hello!
I'm trying to perform a read test of HDFS files through libhdfs using the hadoop-0.18.2/src/c++/libhdfs/hdfs_read.c test program. Creating the files succeeds but reading them fails. I create two 1MB local files with hdfs_write.c and then I put it under hdfs using hadoop fs -put. The files go under dfs.data.dir as: hdfs://server:port/dfs.data.dir/file1 and hdfs://server:port/dfs.data.dir/file2 Then I try to read it back with hdfs_read and measure the time it takes but I get the following exceptions: Reading file:///////home/sony/hadoop/dfs/blocks/file1 1MB Exception in thread "main" java.lang.IllegalArgumentException: Wrong FS: hdfs://myserver.com:23000/home/sony/hadoop/dfs/blocks/file1, expected: file:/// at org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:320) at org.apache.hadoop.fs.RawLocalFileSystem.pathToFile(RawLocalFileSystem.java:52) Call to org.apache.hadoop.fs.FileSystem::open((Lorg/apache/hadoop/fs/Path;I)Lorg/apache/hadoop/fs/FSDataInputStream;) failed! hdfs_read.c: Failed to open hdfs://myserver.com:23000/home/sony/hadoop/dfs/blocks/file1 for writing! .. Reading file:////////home/sony/hadoop/dfs/blocks/file2 1MB Exception in thread "main" java.lang.IllegalArgumentException: Wrong FS: hdfs://myserver.com:23000/home/sony/hadoop/dfs/blocks/file2, expected: file:/// at org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:320) at org.apache.hadoop.fs.RawLocalFileSystem.pathToFile(RawLocalFileSystem.java:52) Call to org.apache.hadoop.fs.FileSystem::open((Lorg/apache/hadoop/fs/Path;I)Lorg/apache/hadoop/fs/FSDataInputStream;) failed! hdfs_read.c: Failed to open hdfs://myserver.com:23000/home/sony/hadoop/dfs/blocks/file2 for writing! Do I use an incorrect URI? What can be the problem? Cheers, Tamas