Configuring HBase MultiWAL Support

CDH supports multiple write-ahead logs (MultiWAL) for HBase. (For more information, see HBASE-5699.)

Without MultiWAL support, each region on a RegionServer writes to the same WAL. A busy RegionServer might host several regions, and each write to the WAL is serial because HDFS only supports sequentially written files. This causes the WAL to negatively impact performance.

MultiWAL allows a RegionServer to write multiple WAL streams in parallel by using multiple pipelines in the underlying HDFS instance, which increases total throughput during writes.

To configure MultiWAL for a RegionServer, set the value of the property hbase.wal.provider to multiwal and restart the RegionServer. To disable MultiWAL for a RegionServer, unset the property and restart the RegionServer.

RegionServers using the original WAL implementation and those using the MultiWAL implementation can each handle recovery of either set of WALs, so a zero-downtime configuration update is possible through a rolling restart.

Configuring MultiWAL Support Using Cloudera Manager

  1. Go to the HBase service.
  2. Click the Configuration tab.
  3. Select Scope > RegionServer.
  4. Select Category > Main.
  5. Set WAL Provider to MultiWAL.
  6. Set the Per-RegionServer Number of WAL Pipelines to a value greater than 1.
  7. Click Save Changes to commit the changes.
  8. Restart the RegionServer roles.

Configuring MultiWAL Support Using the Command Line

  1. Edit hbase-site.xml on each RegionServer where you want to enable MultiWAL. Add the following property by pasting the XML.
  2. Stop and restart the RegionServer.