Chapter 16. Building and Developing Apache HBase

Table of Contents

16.1. Apache HBase Repositories
16.1.1. SVN
16.1.2. Git
16.2. IDEs
16.2.1. Eclipse
16.3. Building Apache HBase
16.3.1. Basic Compile
16.3.2. Build Protobuf
16.3.3. Build Gotchas
16.3.4. Building in snappy compression support
16.4. Releasing Apache HBase
16.4.1. Making a Release Candidate
16.4.2. Publishing a SNAPSHOT to maven
16.5. Generating the HBase Reference Guide
16.6. Updating
16.6.1. Contributing to
16.6.2. Publishing
16.7. Tests
16.7.1. Apache HBase Modules
16.7.2. Unit Tests
16.7.3. Running tests
16.7.4. Writing Tests
16.7.5. Integration Tests
16.8. Maven Build Commands
16.8.1. Compile
16.8.2. Running all or individual Unit Tests
16.8.3. Building against various hadoop versions.
16.9. Getting Involved
16.9.1. Mailing Lists
16.9.2. Jira
16.10. Developing
16.10.1. Codelines
16.10.2. Unit Tests
16.10.3. Code Standards
16.10.4. Invariants
16.10.5. Running In-Situ
16.10.6. Adding Metrics
16.11. Submitting Patches
16.11.1. Create Patch
16.11.2. Patch File Naming
16.11.3. Unit Tests
16.11.4. Attach Patch to Jira
16.11.5. Common Patch Feedback
16.11.6. Submitting a patch again
16.11.7. Submitting incremental patches
16.11.8. ReviewBoard
16.11.9. Committing Patches

This chapter will be of interest only to those building and developing Apache HBase (i.e., as opposed to just downloading the latest distribution).

16.1. Apache HBase Repositories

There are two different repositories for Apache HBase: Subversion (SVN) and Git. The former is the system of record for committers, but the latter is easier to work with to build and contribute. SVN updates get automatically propagated to the Git repo.

16.1.1. SVN

svn co hbase-core-trunk

16.1.2. Git

git clone git://

There is also a github repository that mirrors Apache git repository. If you'd like to develop within github environment (collaborating, pull requests) you can get the source code by:

git clone git://

comments powered by Disqus