Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

JGit DHT on Apache HBase

branch: master

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 .settings
Octocat-spinner-32 src
Octocat-spinner-32 .gitignore
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README
Octocat-spinner-32 pom.xml

This package is a trivial implementation of the interface, binding
JGit's generic DHT storage onto the Apache HBase
NoSQL database.

Download HBsae 0.90.0 and unpack the distribution.  To experiment with
a single node cluster, start the node locally in the background:


To later stop this single node cluster:


Compile this package, you may need JGit first:

  (cd ../jgit && mvn clean install)
  mvn clean package

Initialize the HBase schema (do this once per cluster):

  java -jar target/jgit-hbase.jar \
    hbase-create-schema \

The hostname ("localhost") denotes the ZooKeeper nodes to contact to
find the HBase master server.  The schema prefix path component
("test") is the prefix to apply to all Git tables, keeping them
seperated from other tables that may also run in the same cluster.
The schema prefix may not itself contain '/'.

Create a repository:

  java -jar target/jgit-hbase.jar \
    hbase-init \

A git+hbase repository URI has the obvious hostname component
("localhost"), followed by the schema prefix ("test"), and the
remainder of the URI is the repository name.

Launch a Git daemon, which needs at least 800M to handle the linux-2.6
repository.  Currently JGit's DHT implementation holds onto the entire
pack during receive, to implement delta resolution efficiently.

  java -Xmx800m -jar target/jgit-hbase.jar \
    hbase-daemon \
    --enable receive-pack

Push to it:

  git push git://localhost/jgit.git master

Clone from it:

  git clone git://localhost/jgit.git
Something went wrong with that request. Please try again.