Package org.apache.accumulo.minicluster
Class MiniAccumuloCluster
- java.lang.Object
-
- org.apache.accumulo.minicluster.MiniAccumuloCluster
-
public class MiniAccumuloCluster extends Object
A utility class that will create Zookeeper and Accumulo processes that write all of their data to a single local directory. This class makes it easy to test code against a real Accumulo instance. The use of this utility will yield results which closely match a normal Accumulo instance.- Since:
- 1.5.0
-
-
Constructor Summary
Constructors Constructor Description MiniAccumuloCluster(File dir, String rootPassword)MiniAccumuloCluster(MiniAccumuloConfig config)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description AccumuloClientcreateAccumuloClient(String user, AuthenticationToken token)Utility method to create anAccumuloClientwith connection to the MAC.ClientConfigurationgetClientConfig()Deprecated.since 2.0.0, replaced bygetClientProperties()PropertiesgetClientProperties()static PropertiesgetClientProperties(File directory)Construct clientPropertiesusing aMiniAccumuloClusterdirectoryMiniAccumuloConfiggetConfig()ConnectorgetConnector(String user, String passwd)Deprecated.since 2.0.0, replaced bycreateAccumuloClient(String, AuthenticationToken)Set<Pair<ServerType,Integer>>getDebugPorts()StringgetInstanceName()StringgetZooKeepers()voidstart()Starts Accumulo and Zookeeper processes.voidstop()Stops Accumulo and Zookeeper processes.
-
-
-
Constructor Detail
-
MiniAccumuloCluster
public MiniAccumuloCluster(File dir, String rootPassword) throws IOException
- Parameters:
dir- An empty or nonexistent temp directory that Accumulo and Zookeeper can store data in. Creating the directory is left to the user. Java 7, Guava, and Junit provide methods for creating temporary directories.rootPassword- Initial root password for instance.- Throws:
IOException
-
MiniAccumuloCluster
public MiniAccumuloCluster(MiniAccumuloConfig config) throws IOException
- Parameters:
config- initial configuration- Throws:
IOException
-
-
Method Detail
-
start
public void start() throws IOException, InterruptedExceptionStarts Accumulo and Zookeeper processes. Can only be called once.- Throws:
IOExceptionInterruptedException
-
getDebugPorts
public Set<Pair<ServerType,Integer>> getDebugPorts()
- Returns:
- generated remote debug ports if in debug mode.
- Since:
- 1.6.0
-
getInstanceName
public String getInstanceName()
- Returns:
- Accumulo instance name
-
getZooKeepers
public String getZooKeepers()
- Returns:
- zookeeper connection string
-
stop
public void stop() throws IOException, InterruptedExceptionStops Accumulo and Zookeeper processes. If stop is not called, there is a shutdown hook that is setup to kill the processes. However its probably best to call stop in a finally block as soon as possible.- Throws:
IOExceptionInterruptedException
-
getConfig
public MiniAccumuloConfig getConfig()
- Since:
- 1.6.0
-
getConnector
@Deprecated public Connector getConnector(String user, String passwd) throws AccumuloException, AccumuloSecurityException
Deprecated.since 2.0.0, replaced bycreateAccumuloClient(String, AuthenticationToken)Utility method to get a connector to the MAC.- Throws:
AccumuloExceptionAccumuloSecurityException- Since:
- 1.6.0
-
createAccumuloClient
public AccumuloClient createAccumuloClient(String user, AuthenticationToken token)
Utility method to create anAccumuloClientwith connection to the MAC. The AccumuloClient object should be closed by user- Since:
- 2.0.0
-
getClientConfig
@Deprecated public ClientConfiguration getClientConfig()
Deprecated.since 2.0.0, replaced bygetClientProperties()- Since:
- 1.6.0
-
getClientProperties
public Properties getClientProperties()
- Returns:
- Connection properties for cluster
- Since:
- 2.0.0
-
getClientProperties
public static Properties getClientProperties(File directory)
Construct clientPropertiesusing aMiniAccumuloClusterdirectory- Parameters:
directory- MiniAccumuloCluster directory- Returns:
Propertiesfor that directory- Since:
- 2.0.0
-
-