HBASE-15332 Document how to take advantage of HDFS-6133 in HBase (cherry picked from commit e0a656ed50027a7d982f1eca7a8c0ee3cab47f92)
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/c5288947 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/c5288947 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/c5288947 Branch: refs/heads/hbase-12439 Commit: c5288947ddc4abae2f4036544a775ff81538df2f Parents: e88d943 Author: Misty Stanley-Jones <mstanleyjo...@cloudera.com> Authored: Thu Feb 25 13:51:26 2016 -0800 Committer: Misty Stanley-Jones <mstanleyjo...@cloudera.com> Committed: Fri Feb 26 09:38:32 2016 -0800 ---------------------------------------------------------------------- .../asciidoc/_chapters/troubleshooting.adoc | 22 ++++++++++++++++++++ 1 file changed, 22 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/c5288947/src/main/asciidoc/_chapters/troubleshooting.adoc ---------------------------------------------------------------------- diff --git a/src/main/asciidoc/_chapters/troubleshooting.adoc b/src/main/asciidoc/_chapters/troubleshooting.adoc index 66e56b8..8b2011d 100644 --- a/src/main/asciidoc/_chapters/troubleshooting.adoc +++ b/src/main/asciidoc/_chapters/troubleshooting.adoc @@ -1347,6 +1347,28 @@ Settings for HDFS retries and timeouts are important to HBase.:: Defaults are current as of Hadoop 2.3. Check the Hadoop documentation for the most current values and recommendations. +The HBase Balancer and HDFS Balancer are incompatible:: + The HDFS balancer attempts to spread HDFS blocks evenly among DataNodes. HBase relies + on compactions to restore locality after a region split or failure. These two types + of balancing do not work well together. ++ +In the past, the generally accepted advice was to turn off the HDFS load balancer and rely +on the HBase balancer, since the HDFS balancer would degrade locality. This advice +is still valid if your HDFS version is lower than 2.7.1. ++ +link:https://issues.apache.org/jira/browse/HDFS-6133[HDFS-6133] provides the ability +to exclude a given directory from the HDFS load balancer, by setting the +`dfs.datanode.block-pinning.enabled` property to `true` in your HDFS +configuration and running the following hdfs command: ++ +---- +$ sudo -u hdfs hdfs balancer -exclude /hbase +---- ++ +NOTE: HDFS-6133 is available in HDFS 2.7.0 and higher, but HBase does not support +running on HDFS 2.7.0, so you must be using HDFS 2.7.1 or higher to use this feature +with HBase. + .Connection Timeouts Connection timeouts occur between the client (HBASE) and the HDFS DataNode. They may occur when establishing a connection, attempting to read, or attempting to write.