Chris Lu
6 years ago
2 changed files with 119 additions and 0 deletions
@ -0,0 +1,23 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" |
|||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
|||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
|||
<modelVersion>4.0.0</modelVersion> |
|||
|
|||
<groupId>seaweed.hadoop</groupId> |
|||
<artifactId>seaweedfs</artifactId> |
|||
<version>1.0-SNAPSHOT</version> |
|||
|
|||
<properties> |
|||
<hadoop.version>2.2.0</hadoop.version> |
|||
</properties> |
|||
|
|||
<dependencies> |
|||
<dependency> |
|||
<groupId>org.apache.hadoop</groupId> |
|||
<artifactId>hadoop-client</artifactId> |
|||
<version>${hadoop.version}</version> |
|||
</dependency> |
|||
</dependencies> |
|||
|
|||
</project> |
@ -0,0 +1,96 @@ |
|||
package seaweed.hdfs; |
|||
|
|||
import org.apache.hadoop.conf.Configuration; |
|||
import org.apache.hadoop.fs.FSDataInputStream; |
|||
import org.apache.hadoop.fs.FSDataOutputStream; |
|||
import org.apache.hadoop.fs.FileStatus; |
|||
import org.apache.hadoop.fs.Path; |
|||
import org.apache.hadoop.fs.permission.FsPermission; |
|||
import org.apache.hadoop.util.Progressable; |
|||
|
|||
import java.io.FileNotFoundException; |
|||
import java.io.IOException; |
|||
import java.net.URI; |
|||
|
|||
public class SeaweedFileSystem extends org.apache.hadoop.fs.FileSystem { |
|||
|
|||
public static final int FS_SEAWEED_DEFAULT_PORT = 8333; |
|||
public static final String FS_SEAWEED_HOST = "fs.seaweed.host"; |
|||
public static final String FS_SEAWEED_HOST_PORT = "fs.seaweed.host.port"; |
|||
|
|||
private URI uri; |
|||
private Path workingDirectory = new Path("/"); |
|||
|
|||
public URI getUri() { |
|||
return uri; |
|||
} |
|||
|
|||
public String getScheme() { |
|||
return "seaweed"; |
|||
} |
|||
|
|||
@Override |
|||
public void initialize(URI uri, Configuration conf) throws IOException { // get |
|||
super.initialize(uri, conf); |
|||
|
|||
// get host information from uri (overrides info in conf) |
|||
String host = uri.getHost(); |
|||
host = (host == null) ? conf.get(FS_SEAWEED_HOST, null) : host; |
|||
if (host == null) { |
|||
throw new IOException("Invalid host specified"); |
|||
} |
|||
conf.set(FS_SEAWEED_HOST, host); |
|||
|
|||
// get port information from uri, (overrides info in conf) |
|||
int port = uri.getPort(); |
|||
port = (port == -1) ? FS_SEAWEED_DEFAULT_PORT : port; |
|||
conf.setInt(FS_SEAWEED_HOST_PORT, port); |
|||
|
|||
setConf(conf); |
|||
this.uri = uri; |
|||
} |
|||
|
|||
public FSDataInputStream open(Path path, int i) throws IOException { |
|||
return null; |
|||
} |
|||
|
|||
public FSDataOutputStream create(Path path, FsPermission fsPermission, boolean b, int i, short i1, long l, Progressable progressable) throws IOException { |
|||
return null; |
|||
} |
|||
|
|||
public FSDataOutputStream append(Path path, int i, Progressable progressable) throws IOException { |
|||
return null; |
|||
} |
|||
|
|||
public boolean rename(Path path, Path path1) throws IOException { |
|||
return false; |
|||
} |
|||
|
|||
public boolean delete(Path path, boolean b) throws IOException { |
|||
return false; |
|||
} |
|||
|
|||
public FileStatus[] listStatus(Path path) throws FileNotFoundException, IOException { |
|||
return new FileStatus[0]; |
|||
} |
|||
|
|||
public Path getWorkingDirectory() { |
|||
return workingDirectory; |
|||
} |
|||
|
|||
public void setWorkingDirectory(Path path) { |
|||
if (path.isAbsolute()) { |
|||
workingDirectory = path; |
|||
} else { |
|||
workingDirectory = new Path(workingDirectory, path); |
|||
} |
|||
} |
|||
|
|||
public boolean mkdirs(Path path, FsPermission fsPermission) throws IOException { |
|||
return false; |
|||
} |
|||
|
|||
public FileStatus getFileStatus(Path path) throws IOException { |
|||
return null; |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue