Skip to content

photon8231/jgit_hbase

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

org.eclipse.jgit.storage.hbase
------------------------------

This package is a trivial implementation of the
org.eclipse.jgit.storage.dht.spi 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:

  hbase-0.90.0/bin/start-hbase.sh

To later stop this single node cluster:

  hbase-0.90.0/bin/stop-hbase.sh


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 \
    git+hbase://localhost/test

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 \
    git+hbase://localhost/test/jgit.git

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
    git+hbase://localhost/test

Push to it:

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

Clone from it:

  git clone git://localhost/jgit.git

About

JGit DHT on Apache HBase

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%