Chapter 2. Configuration

Table of Contents

2.1. Java
2.2. Operating System
2.2.1. ssh
2.2.2. DNS
2.2.3. NTP
2.2.4. ulimit and nproc
2.2.5. Windows
2.3. Hadoop
2.3.1. Hadoop Security
2.3.2. dfs.datanode.max.xcievers
2.4. HBase run modes: Standalone and Distributed
2.4.1. Standalone HBase
2.4.2. Distributed
2.4.3. Running and Confirming Your Installation
2.5. ZooKeeper
2.5.1. Using existing ZooKeeper ensemble
2.6. Configuration Files
2.6.1. hbase-site.xml and hbase-default.xml
2.6.2. hbase-env.sh
2.6.3. log4j.properties
2.6.4. Client configuration and dependencies connecting to an HBase cluster
2.7. Example Configurations
2.7.1. Basic Distributed HBase Install
2.8. The Important Configurations
2.8.1. Required Configurations
2.8.2. Recommended Configuations
2.8.3. Other Configurations
2.9. Bloom Filter Configuration
2.9.1. io.hfile.bloom.enabled global kill switch
2.9.2. io.hfile.bloom.error.rate
2.9.3. io.hfile.bloom.max.fold

This chapter is the Not-So-Quick start guide to HBase configuration.

Please read this chapter carefully and ensure that all requirements have been satisfied. Failure to do so will cause you (and us) grief debugging strange errors and/or data loss.

HBase uses the same configuration system as Hadoop. To configure a deploy, edit a file of environment variables in conf/hbase-env.sh -- this configuration is used mostly by the launcher shell scripts getting the cluster off the ground -- and then add configuration to an XML file to do things like override HBase defaults, tell HBase what Filesystem to use, and the location of the ZooKeeper ensemble [1] .

When running in distributed mode, after you make an edit to an HBase configuration, make sure you copy the content of the conf directory to all nodes of the cluster. HBase will not do this for you. Use rsync.

2.1. Java

Just like Hadoop, HBase requires java 6 from Oracle. Usually you'll want to use the latest version available except the problematic u18 (u24 is the latest version as of this writing).



[1] Be careful editing XML. Make sure you close all elements. Run your file through xmllint or similar to ensure well-formedness of your document after an edit session.