org.apache.accumulo.core.client
Class ZooKeeperInstance

java.lang.Object
  extended by org.apache.accumulo.core.client.ZooKeeperInstance
All Implemented Interfaces:
Instance

public class ZooKeeperInstance
extends Object
implements Instance

An implementation of instance that looks in zookeeper to find information needed to connect to an instance of accumulo.

The advantage of using zookeeper to obtain information about accumulo is that zookeeper is highly available, very responsive, and supports caching.

Because it is possible for multiple instances of accumulo to share a single set of zookeeper servers, all constructors require an accumulo instance name. If you do not know the instance names then run accumulo org.apache.accumulo.server.util.ListInstances on an accumulo server.


Constructor Summary
ZooKeeperInstance(String instanceName, String zooKeepers)
           
ZooKeeperInstance(String instanceName, String zooKeepers, int sessionTimeout)
           
ZooKeeperInstance(UUID instanceId, String zooKeepers)
           
ZooKeeperInstance(UUID instanceId, String zooKeepers, int sessionTimeout)
           
 
Method Summary
 AccumuloConfiguration getConfiguration()
          Returns the AccumuloConfiguration to use when interacting with this instance.
 Connector getConnector(AuthInfo auth)
          Returns a connection to accumulo.
 Connector getConnector(String user, byte[] pass)
          Returns a connection to accumulo.
 Connector getConnector(String user, ByteBuffer pass)
          Returns a connection to accumulo.
 Connector getConnector(String user, CharSequence pass)
          Returns a connection to this instance of accumulo.
 String getInstanceID()
          Returns a unique string that identifies this instance of accumulo.
static String getInstanceIDFromHdfs(org.apache.hadoop.fs.Path instanceDirectory)
          Deprecated. 
 String getInstanceName()
          Returns the instance name given at system initialization time.
 List<String> getMasterLocations()
          Returns the location(s) of the accumulo master and any redundant servers.
 String getRootTabletLocation()
          Returns the location of the tablet server that is serving the root tablet.
 String getZooKeepers()
          Returns a comma-separated list of zookeeper servers the instance is using.
 int getZooKeepersSessionTimeOut()
          Returns the zookeeper connection timeout.
static String lookupInstanceName(ZooCache zooCache, UUID instanceId)
          Given a zooCache and instanceId, look up the instance name.
 void setConfiguration(AccumuloConfiguration conf)
          Set the AccumuloConfiguration to use when interacting with this instance.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ZooKeeperInstance

public ZooKeeperInstance(String instanceName,
                         String zooKeepers)
Parameters:
instanceName - The name of specific accumulo instance. This is set at initialization time.
zooKeepers - A comma separated list of zoo keeper server locations. Each location can contain an optional port, of the format host:port.

ZooKeeperInstance

public ZooKeeperInstance(String instanceName,
                         String zooKeepers,
                         int sessionTimeout)
Parameters:
instanceName - The name of specific accumulo instance. This is set at initialization time.
zooKeepers - A comma separated list of zoo keeper server locations. Each location can contain an optional port, of the format host:port.
sessionTimeout - zoo keeper session time out in milliseconds.

ZooKeeperInstance

public ZooKeeperInstance(UUID instanceId,
                         String zooKeepers)
Parameters:
instanceId - The UUID that identifies the accumulo instance you want to connect to.
zooKeepers - A comma separated list of zoo keeper server locations. Each location can contain an optional port, of the format host:port.

ZooKeeperInstance

public ZooKeeperInstance(UUID instanceId,
                         String zooKeepers,
                         int sessionTimeout)
Parameters:
instanceId - The UUID that identifies the accumulo instance you want to connect to.
zooKeepers - A comma separated list of zoo keeper server locations. Each location can contain an optional port, of the format host:port.
sessionTimeout - zoo keeper session time out in milliseconds.
Method Detail

getInstanceID

public String getInstanceID()
Description copied from interface: Instance
Returns a unique string that identifies this instance of accumulo.

Specified by:
getInstanceID in interface Instance
Returns:
a UUID

getMasterLocations

public List<String> getMasterLocations()
Description copied from interface: Instance
Returns the location(s) of the accumulo master and any redundant servers.

Specified by:
getMasterLocations in interface Instance
Returns:
a list of locations in "hostname:port" form

getRootTabletLocation

public String getRootTabletLocation()
Description copied from interface: Instance
Returns the location of the tablet server that is serving the root tablet.

Specified by:
getRootTabletLocation in interface Instance
Returns:
location in "hostname:port" form

getInstanceName

public String getInstanceName()
Description copied from interface: Instance
Returns the instance name given at system initialization time.

Specified by:
getInstanceName in interface Instance
Returns:
current instance name

getZooKeepers

public String getZooKeepers()
Description copied from interface: Instance
Returns a comma-separated list of zookeeper servers the instance is using.

Specified by:
getZooKeepers in interface Instance
Returns:
the zookeeper servers this instance is using in "hostname:port" form

getZooKeepersSessionTimeOut

public int getZooKeepersSessionTimeOut()
Description copied from interface: Instance
Returns the zookeeper connection timeout.

Specified by:
getZooKeepersSessionTimeOut in interface Instance
Returns:
the configured timeout to connect to zookeeper

getConnector

public Connector getConnector(String user,
                              CharSequence pass)
                       throws AccumuloException,
                              AccumuloSecurityException
Description copied from interface: Instance
Returns a connection to this instance of accumulo.

Specified by:
getConnector in interface Instance
Parameters:
user - a valid accumulo user
pass - If a mutable CharSequence is passed in, it may be cleared after this call.
Returns:
the accumulo Connector
Throws:
AccumuloException - when a generic exception occurs
AccumuloSecurityException - when a user's credentials are invalid

getConnector

public Connector getConnector(String user,
                              ByteBuffer pass)
                       throws AccumuloException,
                              AccumuloSecurityException
Description copied from interface: Instance
Returns a connection to accumulo.

Specified by:
getConnector in interface Instance
Parameters:
user - a valid accumulo user
pass - A UTF-8 encoded password. The password may be cleared after making this call.
Returns:
the accumulo Connector
Throws:
AccumuloException - when a generic exception occurs
AccumuloSecurityException - when a user's credentials are invalid

getConnector

public Connector getConnector(String user,
                              byte[] pass)
                       throws AccumuloException,
                              AccumuloSecurityException
Description copied from interface: Instance
Returns a connection to accumulo.

Specified by:
getConnector in interface Instance
Parameters:
user - a valid accumulo user
pass - A UTF-8 encoded password. The password may be cleared after making this call.
Returns:
the accumulo Connector
Throws:
AccumuloException - when a generic exception occurs
AccumuloSecurityException - when a user's credentials are invalid

getConfiguration

public AccumuloConfiguration getConfiguration()
Description copied from interface: Instance
Returns the AccumuloConfiguration to use when interacting with this instance.

Specified by:
getConfiguration in interface Instance
Returns:
the AccumuloConfiguration that specifies properties related to interacting with this instance

setConfiguration

public void setConfiguration(AccumuloConfiguration conf)
Description copied from interface: Instance
Set the AccumuloConfiguration to use when interacting with this instance.

Specified by:
setConfiguration in interface Instance
Parameters:
conf - accumulo configuration

lookupInstanceName

public static String lookupInstanceName(ZooCache zooCache,
                                        UUID instanceId)
Given a zooCache and instanceId, look up the instance name.

Parameters:
zooCache -
instanceId -
Returns:
the instance name

getInstanceIDFromHdfs

@Deprecated
public static String getInstanceIDFromHdfs(org.apache.hadoop.fs.Path instanceDirectory)
Deprecated. 


getConnector

public Connector getConnector(AuthInfo auth)
                       throws AccumuloException,
                              AccumuloSecurityException
Description copied from interface: Instance
Returns a connection to accumulo.

Specified by:
getConnector in interface Instance
Parameters:
auth - An AuthInfo object.
Returns:
the accumulo Connector
Throws:
AccumuloException - when a generic exception occurs
AccumuloSecurityException - when a user's credentials are invalid


Copyright © 2012 The Apache Software Foundation. All Rights Reserved.