Chapter 1. Building and Developing Apache HBase

Table of Contents

1.1. Apache HBase Repositories
1.1.1. SVN
1.1.2. Git
1.2. IDEs
1.2.1. Eclipse
1.3. Building Apache HBase
1.3.1. Basic Compile
1.3.2. Build Protobuf
1.3.3. Build Gotchas
1.3.4. Building in snappy compression support
1.4. Releasing Apache HBase
1.4.1. Making a Release Candidate
1.4.2. Publishing a SNAPSHOT to maven
1.5. Generating the HBase Reference Guide
1.6. Updating
1.6.1. Contributing to
1.6.2. Publishing
1.7. Tests
1.7.1. Apache HBase Modules
1.7.2. Unit Tests
1.7.3. Running tests
1.7.4. Writing Tests
1.7.5. Integration Tests
1.8. Maven Build Commands
1.8.1. Compile
1.8.2. Running all or individual Unit Tests
1.8.3. Building against various hadoop versions.
1.9. Getting Involved
1.9.1. Mailing Lists
1.9.2. Jira
1.10. Developing
1.10.1. Codelines
1.10.2. Unit Tests
1.10.3. Code Standards
1.10.4. Invariants
1.10.5. Running In-Situ
1.10.6. Adding Metrics
1.11. Submitting Patches
1.11.1. Create Patch
1.11.2. Patch File Naming
1.11.3. Unit Tests
1.11.4. Attach Patch to Jira
1.11.5. Common Patch Feedback
1.11.6. Submitting a patch again
1.11.7. Submitting incremental patches
1.11.8. ReviewBoard
1.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).

1.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.

1.1.1. SVN

svn co hbase-core-trunk

1.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