From 3b3dffba58807feb4c91857d1dcec0dba59211fd Mon Sep 17 00:00:00 2001 From: Misty Stanley-Jones Date: Thu, 25 Feb 2016 13:51:26 -0800 Subject: [PATCH] HBASE-15332 Document how to take advantage of HDFS-6133 in HBase --- src/main/asciidoc/_chapters/troubleshooting.adoc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/main/asciidoc/_chapters/troubleshooting.adoc b/src/main/asciidoc/_chapters/troubleshooting.adoc index 66e56b8..efbf50c 100644 --- a/src/main/asciidoc/_chapters/troubleshooting.adoc +++ b/src/main/asciidoc/_chapters/troubleshooting.adoc @@ -1347,6 +1347,24 @@ 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.0. ++ +link:https://issues.apache.org/jira/browse/HDFS-6133[HDFS-6133] (in HDFS 2.7.0 and higher) +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 +---- + .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. -- 2.5.4 (Apple Git-61)