Instamo makes it easy to write some code and run it against a local, transient Accumulo 1.4 instance in minutes. No setup or installation is required. This is possible if Java, Git, and Maven are already installed by following the steps below.
git clone git://github.com/keith-turner/instamo.git
cd instamo
vim src/main/java/instamo/AccumuloApp.java
mvn package
mvn exec:exec
In addition to a bunch of maven output, you should see the following when running mvn exec:exec. If you see the warning, its ok. The warning happens because the client clode tries to access Accumulo while its starting in the background. Eventually Accumulo is fully up and the client program runs.
[main] WARN org.apache.accumulo.core.client.impl.ServerClient - There are no tablet servers: check that zookeeper and accumulo are running.
r1 cf1:cq1 [] 1352400044419 false v1
r1 cf1:cq2 [] 1352400044419 false v3
Its possible to run local map reduce jobs against the MiniAccumuloCluster instance. There is an example of this in the source. The following command will run the map reduce example.
mvn exec:exec -DmapReduce
This project was created while experimenting with creating an implementation for ACCUMULO-14. Instamo contains a new implementation of MiniAccumuloCluster that spawns Zookeeper and Accumulo processes storing all data in a single local directory. The purpose of Instamo is to make it extremely simple to use MiniAccumuloCluster. MiniAccumuloCluster in Instamo works with Accumulo 1.4. I plan to work twoards having MiniAccumuloCluster be part of Accumulo 1.5.
MiniAccumuloCluster project provides a capability that is superior to Mock Accumulo. Mock Accumulo is a reimplemntation of Accumlo in process. In many cases Mock Accumulo may behave slightly differently than Accumulo, which is not good for testing. The main advantage of Mock Accumulo is that its much much faster. However, maybe MiniAccumuloCluster can be sped up. Speeding it up will probably require changes to Accumulo itself. It seems to take around three seconds for the master to start assigning tablets. This speedup will not be possible in Accumulo 1.4, but maybe in 1.5.