HBASE-11717 Remove unused config 'hbase.offheapcache.percentage' from hbase-default.xml and book. (Anoop)
This commit is contained in:
parent
6367074381
commit
cabcb6ca23
|
@ -1063,15 +1063,6 @@ possible configurations would overwhelm and obscure the important.
|
||||||
<value>false</value>
|
<value>false</value>
|
||||||
<description>Use Thrift TCompactProtocol binary serialization protocol.</description>
|
<description>Use Thrift TCompactProtocol binary serialization protocol.</description>
|
||||||
</property>
|
</property>
|
||||||
<property>
|
|
||||||
<name>hbase.offheapcache.percentage</name>
|
|
||||||
<value>0</value>
|
|
||||||
<description>The percentage of the off heap space (-XX:MaxDirectMemorySize) to be
|
|
||||||
allocated towards the experimental off heap "SlabCache" (This is different to
|
|
||||||
the BucketCache -- see the package javadoc for org.apache.hadoop.hbase.io.hfile
|
|
||||||
for more on your options). If you desire the cache to be disabled, simply set this
|
|
||||||
value to 0.</description>
|
|
||||||
</property>
|
|
||||||
<property>
|
<property>
|
||||||
<name>hbase.data.umask.enable</name>
|
<name>hbase.data.umask.enable</name>
|
||||||
<value>false</value>
|
<value>false</value>
|
||||||
|
|
|
@ -111,7 +111,6 @@ public class CacheConfig {
|
||||||
public static final boolean DEFAULT_BUCKET_CACHE_COMBINED = true;
|
public static final boolean DEFAULT_BUCKET_CACHE_COMBINED = true;
|
||||||
public static final int DEFAULT_BUCKET_CACHE_WRITER_THREADS = 3;
|
public static final int DEFAULT_BUCKET_CACHE_WRITER_THREADS = 3;
|
||||||
public static final int DEFAULT_BUCKET_CACHE_WRITER_QUEUE = 64;
|
public static final int DEFAULT_BUCKET_CACHE_WRITER_QUEUE = 64;
|
||||||
public static final float DEFAULT_BUCKET_CACHE_COMBINED_PERCENTAGE = 0.9f;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Configuration key to prefetch all blocks of a given file into the block cache
|
* Configuration key to prefetch all blocks of a given file into the block cache
|
||||||
|
|
|
@ -115,9 +115,6 @@ public class TestTableSnapshotInputFormat extends TableSnapshotInputFormatTestBa
|
||||||
"Snapshot job should be configured for default LruBlockCache.",
|
"Snapshot job should be configured for default LruBlockCache.",
|
||||||
HConstants.HFILE_BLOCK_CACHE_SIZE_DEFAULT,
|
HConstants.HFILE_BLOCK_CACHE_SIZE_DEFAULT,
|
||||||
job.getFloat(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY, -1), 0.01);
|
job.getFloat(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY, -1), 0.01);
|
||||||
Assert.assertEquals(
|
|
||||||
"Snapshot job should not use SlabCache.",
|
|
||||||
0, job.getFloat("hbase.offheapcache.percentage", -1), 0.01);
|
|
||||||
Assert.assertEquals(
|
Assert.assertEquals(
|
||||||
"Snapshot job should not use BucketCache.",
|
"Snapshot job should not use BucketCache.",
|
||||||
0, job.getFloat("hbase.bucketcache.size", -1), 0.01);
|
0, job.getFloat("hbase.bucketcache.size", -1), 0.01);
|
||||||
|
|
|
@ -162,9 +162,6 @@ public class TestTableSnapshotInputFormat extends TableSnapshotInputFormatTestBa
|
||||||
"Snapshot job should be configured for default LruBlockCache.",
|
"Snapshot job should be configured for default LruBlockCache.",
|
||||||
HConstants.HFILE_BLOCK_CACHE_SIZE_DEFAULT,
|
HConstants.HFILE_BLOCK_CACHE_SIZE_DEFAULT,
|
||||||
job.getConfiguration().getFloat(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY, -1), 0.01);
|
job.getConfiguration().getFloat(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY, -1), 0.01);
|
||||||
Assert.assertEquals(
|
|
||||||
"Snapshot job should not use SlabCache.",
|
|
||||||
0, job.getConfiguration().getFloat("hbase.offheapcache.percentage", -1), 0.01);
|
|
||||||
Assert.assertEquals(
|
Assert.assertEquals(
|
||||||
"Snapshot job should not use BucketCache.",
|
"Snapshot job should not use BucketCache.",
|
||||||
0, job.getConfiguration().getFloat("hbase.bucketcache.size", -1), 0.01);
|
0, job.getConfiguration().getFloat("hbase.bucketcache.size", -1), 0.01);
|
||||||
|
|
|
@ -2082,8 +2082,8 @@ rs.close();
|
||||||
xml:id="block.cache">
|
xml:id="block.cache">
|
||||||
<title>Block Cache</title>
|
<title>Block Cache</title>
|
||||||
|
|
||||||
<para>HBase provides three different BlockCache implementations: the default onheap
|
<para>HBase provides two different BlockCache implementations: the default onheap
|
||||||
LruBlockCache, BucketCache, and SlabCache, which are both (usually) offheap. This section
|
LruBlockCache and BucketCache, which is (usually) offheap. This section
|
||||||
discusses benefits and drawbacks of each implementation, how to choose the appropriate
|
discusses benefits and drawbacks of each implementation, how to choose the appropriate
|
||||||
option, and configuration options for each.</para>
|
option, and configuration options for each.</para>
|
||||||
|
|
||||||
|
@ -2099,9 +2099,7 @@ rs.close();
|
||||||
<para><classname>LruBlockCache</classname> is the original implementation, and is
|
<para><classname>LruBlockCache</classname> is the original implementation, and is
|
||||||
entirely within the Java heap. <classname>BucketCache</classname> is mainly
|
entirely within the Java heap. <classname>BucketCache</classname> is mainly
|
||||||
intended for keeping blockcache data offheap, although BucketCache can also
|
intended for keeping blockcache data offheap, although BucketCache can also
|
||||||
keep data onheap and serve from a file-backed cache. There is also an older
|
keep data onheap and serve from a file-backed cache.
|
||||||
offheap BlockCache, called SlabCache that has since been deprecated and
|
|
||||||
removed in HBase 1.0.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>Fetching will always be slower when fetching from BucketCache,
|
<para>Fetching will always be slower when fetching from BucketCache,
|
||||||
|
@ -2292,30 +2290,6 @@ rs.close();
|
||||||
<section
|
<section
|
||||||
xml:id="offheap.blockcache">
|
xml:id="offheap.blockcache">
|
||||||
<title>Offheap Block Cache</title>
|
<title>Offheap Block Cache</title>
|
||||||
<section xml:id="offheap.blockcache.slabcache">
|
|
||||||
<title>How to Enable SlabCache</title>
|
|
||||||
<para><emphasis>SlabCache is deprecated and will be removed in 1.0!</emphasis></para>
|
|
||||||
<para> SlabCache is originally described in <link
|
|
||||||
xlink:href="http://blog.cloudera.com/blog/2012/01/caching-in-hbase-slabcache/">Caching
|
|
||||||
in Apache HBase: SlabCache</link>. Quoting from the API documentation for <link
|
|
||||||
xlink:href="http://hbase.apache.org/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/DoubleBlockCache.html">DoubleBlockCache</link>,
|
|
||||||
the hosting class for SlabCache deploys,
|
|
||||||
DoubleBlockCache is an abstraction layer that combines two caches, the smaller onHeapCache and the
|
|
||||||
larger offHeapCache. CacheBlock attempts to cache the block in both caches, while
|
|
||||||
readblock reads first from the faster on heap cache before looking for the block in
|
|
||||||
the off heap cache. Metrics are the combined size and hits and misses of both
|
|
||||||
caches.</para>
|
|
||||||
<para>To enable SlabCache, set the float
|
|
||||||
<varname>hbase.offheapcache.percentage</varname> to some value between 0 and 1 in
|
|
||||||
the <filename>hbase-site.xml</filename> file on the RegionServer. The value will be multiplied by the
|
|
||||||
setting for <varname>-XX:MaxDirectMemorySize</varname> in the RegionServer's
|
|
||||||
<filename>hbase-env.sh</filename> configuration file and the result is used by
|
|
||||||
SlabCache as its offheap store. The onheap store will be the value of the float
|
|
||||||
<varname>HConstants.HFILE_BLOCK_CACHE_SIZE_KEY</varname> setting (some value between
|
|
||||||
0 and 1) multiplied by the size of the allocated Java heap.</para>
|
|
||||||
<para>Restart (or rolling restart) your cluster for the configurations to take effect.
|
|
||||||
Check logs for errors or unexpected behavior.</para>
|
|
||||||
</section>
|
|
||||||
<section xml:id="enable.bucketcache">
|
<section xml:id="enable.bucketcache">
|
||||||
<title>How to Enable BucketCache</title>
|
<title>How to Enable BucketCache</title>
|
||||||
<para>The usual deploy of BucketCache is via a managing class that sets up two caching tiers: an L1 onheap cache
|
<para>The usual deploy of BucketCache is via a managing class that sets up two caching tiers: an L1 onheap cache
|
||||||
|
|
|
@ -428,27 +428,6 @@ Successfully completed Log splitting
|
||||||
setup a secure HBase is on the way. </para>
|
setup a secure HBase is on the way. </para>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section
|
|
||||||
xml:id="slabcache">
|
|
||||||
<title>Experimental off-heap cache: SlabCache</title>
|
|
||||||
<para> A new cache was contributed to 0.92.0 to act as a solution between using the
|
|
||||||
“on-heap” cache which is the current LRU cache the region servers have and the
|
|
||||||
operating system cache which is out of our control. To enable
|
|
||||||
<emphasis>SlabCache</emphasis>, as this feature is being called, set
|
|
||||||
“-XX:MaxDirectMemorySize” in hbase-env.sh to the value for maximum direct memory
|
|
||||||
size and specify <property>hbase.offheapcache.percentage</property> in
|
|
||||||
<filename>hbase-site.xml</filename> with the percentage that you want to
|
|
||||||
dedicate to off-heap cache. This should only be set for servers and not for clients.
|
|
||||||
Use at your own risk. See this blog post, <link
|
|
||||||
xlink:href="http://www.cloudera.com/blog/2012/01/caching-in-hbase-slabcache/">Caching
|
|
||||||
in Apache HBase: SlabCache</link>, for additional information on this new
|
|
||||||
experimental feature. </para>
|
|
||||||
<para>This feature has mostly been eclipsed in later HBases. See <link
|
|
||||||
xlink:href="https://issues.apache.org/jira/browse/HBASE-7404 ">HBASE-7404 Bucket
|
|
||||||
Cache:A solution about CMS,Heap Fragment and Big Cache on HBASE</link>,
|
|
||||||
etc.</para>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<title>Changes in HBase replication </title>
|
<title>Changes in HBase replication </title>
|
||||||
<para>0.92.0 adds two new features: multi-slave and multi-master replication. The way to
|
<para>0.92.0 adds two new features: multi-slave and multi-master replication. The way to
|
||||||
|
|
Loading…
Reference in New Issue