diff --git a/src/main/asciidoc/_chapters/architecture.adoc b/src/main/asciidoc/_chapters/architecture.adoc index bae4a23..b63344c 100644 --- a/src/main/asciidoc/_chapters/architecture.adoc +++ b/src/main/asciidoc/_chapters/architecture.adoc @@ -885,6 +885,29 @@ The WAL resides in HDFS in the _/hbase/WALs/_ directory (prior to HBase 0.94, th For more general information about the concept of write ahead logs, see the Wikipedia link:http://en.wikipedia.org/wiki/Write-ahead_logging[Write-Ahead Log] article. +==== MultiWAL +With a single WAL per RegionServer, the RegionServer must write to the WAL serially, because HDFS files must be sequential. This causes the WAL to be a performance bottleneck. + +HBase 1.0 introduces support MultiWal in link:https://issues.apache.org/jira/browse/HBASE-5699[HBASE-5699]. MultiWAL allows a RegionServer to write multiple WAL streams in parallel, based upon the number of write replicas HDFS uses, and increase total throughput during the writes. MultiWAL is dsabled by default. + +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. + +.Configure MultiWAL +To configure MultiWAL for a RegionServer, set the value of the property `hbase.wal.provider` to `multiwal` by pasting in the following XML: + +[source,xml] +---- + + hbase.wal.provider + multiwal + +---- + +Restart the RegionServer for the changes to take effect. + +To disable MultiWAL for a RegionServer, unset the property and restart the RegionServer. + + [[wal_flush]] ==== WAL Flushing