org.apache.hadoop.hdfs.client
Class HdfsAdmin

java.lang.Object
  extended by org.apache.hadoop.hdfs.client.HdfsAdmin

@InterfaceAudience.Public
@InterfaceStability.Evolving
public class HdfsAdmin
extends Object

The public API for performing administrative functions on HDFS. Those writing applications against HDFS should prefer this interface to directly accessing functionality in DistributedFileSystem or DFSClient. Note that this is distinct from the similarly-named DFSAdmin, which is a class that provides the functionality for the CLI `hdfs dfsadmin ...' commands.


Constructor Summary
HdfsAdmin(URI uri, org.apache.hadoop.conf.Configuration conf)
          Create a new HdfsAdmin client.
 
Method Summary
 long addCacheDirective(CacheDirectiveInfo info, EnumSet<CacheFlag> flags)
          Add a new CacheDirectiveInfo.
 void addCachePool(CachePoolInfo info)
          Add a cache pool.
 void allowSnapshot(org.apache.hadoop.fs.Path path)
          Allow snapshot on a directory.
 void clearQuota(org.apache.hadoop.fs.Path src)
          Clear the namespace quota (count of files, directories and sym links) for a directory.
 void clearSpaceQuota(org.apache.hadoop.fs.Path src)
          Clear the disk space quota (size of files) for a directory.
 void disallowSnapshot(org.apache.hadoop.fs.Path path)
          Disallow snapshot on a directory.
 org.apache.hadoop.fs.RemoteIterator<CacheDirectiveEntry> listCacheDirectives(CacheDirectiveInfo filter)
          List cache directives.
 org.apache.hadoop.fs.RemoteIterator<CachePoolEntry> listCachePools()
          List all cache pools.
 void modifyCacheDirective(CacheDirectiveInfo info, EnumSet<CacheFlag> flags)
          Modify a CacheDirective.
 void modifyCachePool(CachePoolInfo info)
          Modify an existing cache pool.
 void removeCacheDirective(long id)
          Remove a CacheDirective.
 void removeCachePool(String poolName)
          Remove a cache pool.
 void setQuota(org.apache.hadoop.fs.Path src, long quota)
          Set the namespace quota (count of files, directories, and sym links) for a directory.
 void setSpaceQuota(org.apache.hadoop.fs.Path src, long spaceQuota)
          Set the disk space quota (size of files) for a directory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HdfsAdmin

public HdfsAdmin(URI uri,
                 org.apache.hadoop.conf.Configuration conf)
          throws IOException
Create a new HdfsAdmin client.

Parameters:
uri - the unique URI of the HDFS file system to administer
conf - configuration
Throws:
IOException - in the event the file system could not be created
Method Detail

setQuota

public void setQuota(org.apache.hadoop.fs.Path src,
                     long quota)
              throws IOException
Set the namespace quota (count of files, directories, and sym links) for a directory.

Parameters:
src - the path to set the quota for
quota - the value to set for the quota
Throws:
IOException - in the event of error

clearQuota

public void clearQuota(org.apache.hadoop.fs.Path src)
                throws IOException
Clear the namespace quota (count of files, directories and sym links) for a directory.

Parameters:
src - the path to clear the quota of
Throws:
IOException - in the event of error

setSpaceQuota

public void setSpaceQuota(org.apache.hadoop.fs.Path src,
                          long spaceQuota)
                   throws IOException
Set the disk space quota (size of files) for a directory. Note that directories and sym links do not occupy disk space.

Parameters:
src - the path to set the space quota of
spaceQuota - the value to set for the space quota
Throws:
IOException - in the event of error

clearSpaceQuota

public void clearSpaceQuota(org.apache.hadoop.fs.Path src)
                     throws IOException
Clear the disk space quota (size of files) for a directory. Note that directories and sym links do not occupy disk space.

Parameters:
src - the path to clear the space quota of
Throws:
IOException - in the event of error

allowSnapshot

public void allowSnapshot(org.apache.hadoop.fs.Path path)
                   throws IOException
Allow snapshot on a directory.

Parameters:
path - The path of the directory where snapshots will be taken.
Throws:
IOException

disallowSnapshot

public void disallowSnapshot(org.apache.hadoop.fs.Path path)
                      throws IOException
Disallow snapshot on a directory.

Parameters:
path - The path of the snapshottable directory.
Throws:
IOException

addCacheDirective

public long addCacheDirective(CacheDirectiveInfo info,
                              EnumSet<CacheFlag> flags)
                       throws IOException
Add a new CacheDirectiveInfo.

Parameters:
info - Information about a directive to add.
flags - CacheFlags to use for this operation.
Returns:
the ID of the directive that was created.
Throws:
IOException - if the directive could not be added

modifyCacheDirective

public void modifyCacheDirective(CacheDirectiveInfo info,
                                 EnumSet<CacheFlag> flags)
                          throws IOException
Modify a CacheDirective.

Parameters:
info - Information about the directive to modify. You must set the ID to indicate which CacheDirective you want to modify.
flags - CacheFlags to use for this operation.
Throws:
IOException - if the directive could not be modified

removeCacheDirective

public void removeCacheDirective(long id)
                          throws IOException
Remove a CacheDirective.

Parameters:
id - identifier of the CacheDirectiveInfo to remove
Throws:
IOException - if the directive could not be removed

listCacheDirectives

public org.apache.hadoop.fs.RemoteIterator<CacheDirectiveEntry> listCacheDirectives(CacheDirectiveInfo filter)
                                                                             throws IOException
List cache directives. Incrementally fetches results from the server.

Parameters:
filter - Filter parameters to use when listing the directives, null to list all directives visible to us.
Returns:
A RemoteIterator which returns CacheDirectiveInfo objects.
Throws:
IOException

addCachePool

public void addCachePool(CachePoolInfo info)
                  throws IOException
Add a cache pool.

Parameters:
info - The request to add a cache pool.
Throws:
IOException - If the request could not be completed.

modifyCachePool

public void modifyCachePool(CachePoolInfo info)
                     throws IOException
Modify an existing cache pool.

Parameters:
info - The request to modify a cache pool.
Throws:
IOException - If the request could not be completed.

removeCachePool

public void removeCachePool(String poolName)
                     throws IOException
Remove a cache pool.

Parameters:
poolName - Name of the cache pool to remove.
Throws:
IOException - if the cache pool did not exist, or could not be removed.

listCachePools

public org.apache.hadoop.fs.RemoteIterator<CachePoolEntry> listCachePools()
                                                                   throws IOException
List all cache pools.

Returns:
A remote iterator from which you can get CachePoolEntry objects. Requests will be made as needed.
Throws:
IOException - If there was an error listing cache pools.


Copyright © 2014 Apache Software Foundation. All Rights Reserved.