|
@@ -0,0 +1,356 @@
|
|
|
+<?xml version="1.0"?>
|
|
|
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
|
|
|
+<!--
|
|
|
+/**
|
|
|
+ * Licensed to the Apache Software Foundation (ASF) under one
|
|
|
+ * or more contributor license agreements. See the NOTICE file
|
|
|
+ * distributed with this work for additional information
|
|
|
+ * regarding copyright ownership. The ASF licenses this file
|
|
|
+ * to you under the Apache License, Version 2.0 (the
|
|
|
+ * "License"); you may not use this file except in compliance
|
|
|
+ * with the License. You may obtain a copy of the License at
|
|
|
+ *
|
|
|
+ * http://www.apache.org/licenses/LICENSE-2.0
|
|
|
+ *
|
|
|
+ * Unless required by applicable law or agreed to in writing, software
|
|
|
+ * distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
+ * See the License for the specific language governing permissions and
|
|
|
+ * limitations under the License.
|
|
|
+ */
|
|
|
+-->
|
|
|
+<configuration>
|
|
|
+ <property>
|
|
|
+ <name>hbase.rootdir</name>
|
|
|
+ <value></value>
|
|
|
+ <description>The directory shared by region servers and into
|
|
|
+ which HBase persists. The URL should be 'fully-qualified'
|
|
|
+ to include the filesystem scheme. For example, to specify the
|
|
|
+ HDFS directory '/hbase' where the HDFS instance's namenode is
|
|
|
+ running at namenode.example.org on port 9000, set this value to:
|
|
|
+ hdfs://namenode.example.org:9000/hbase. By default HBase writes
|
|
|
+ into /tmp. Change this configuration else all data will be lost
|
|
|
+ on machine restart.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+ <property>
|
|
|
+ <name>hbase.cluster.distributed</name>
|
|
|
+ <value>true</value>
|
|
|
+ <description>The mode the cluster will be in. Possible values are
|
|
|
+ false for standalone mode and true for distributed mode. If
|
|
|
+ false, startup will run all HBase and ZooKeeper daemons together
|
|
|
+ in the one JVM.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+ <property>
|
|
|
+ <name>hbase.tmp.dir</name>
|
|
|
+ <value></value>
|
|
|
+ <description>Temporary directory on the local filesystem.
|
|
|
+ Change this setting to point to a location more permanent
|
|
|
+ than '/tmp' (The '/tmp' directory is often cleared on
|
|
|
+ machine restart).
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+ <property>
|
|
|
+ <name>hbase.master.info.bindAddress</name>
|
|
|
+ <value></value>
|
|
|
+ <description>The bind address for the HBase Master web UI
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+ <property>
|
|
|
+ <name>hbase.master.info.port</name>
|
|
|
+ <value></value>
|
|
|
+ <description>The port for the HBase Master web UI.</description>
|
|
|
+ </property>
|
|
|
+ <property>
|
|
|
+ <name>hbase.regionserver.info.port</name>
|
|
|
+ <value></value>
|
|
|
+ <description>The port for the HBase RegionServer web UI.</description>
|
|
|
+ </property>
|
|
|
+ <property>
|
|
|
+ <name>hbase.regionserver.global.memstore.upperLimit</name>
|
|
|
+ <value></value>
|
|
|
+ <description>Maximum size of all memstores in a region server before new
|
|
|
+ updates are blocked and flushes are forced. Defaults to 40% of heap
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+ <property>
|
|
|
+ <name>hbase.regionserver.handler.count</name>
|
|
|
+ <value></value>
|
|
|
+ <description>Count of RPC Listener instances spun up on RegionServers.
|
|
|
+ Same property is used by the Master for count of master handlers.
|
|
|
+ Default is 10.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+ <property>
|
|
|
+ <name>hbase.hregion.majorcompaction</name>
|
|
|
+ <value></value>
|
|
|
+ <description>The time (in miliseconds) between 'major' compactions of all
|
|
|
+ HStoreFiles in a region. Default: 1 day.
|
|
|
+ Set to 0 to disable automated major compactions.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+
|
|
|
+ <property>
|
|
|
+ <name>hbase.regionserver.global.memstore.lowerLimit</name>
|
|
|
+ <value></value>
|
|
|
+ <description>When memstores are being forced to flush to make room in
|
|
|
+ memory, keep flushing until we hit this mark. Defaults to 35% of heap.
|
|
|
+ This value equal to hbase.regionserver.global.memstore.upperLimit causes
|
|
|
+ the minimum possible flushing to occur when updates are blocked due to
|
|
|
+ memstore limiting.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+ <property>
|
|
|
+ <name>hbase.hregion.memstore.block.multiplier</name>
|
|
|
+ <value></value>
|
|
|
+ <description>Block updates if memstore has hbase.hregion.memstore.block.multiplier
|
|
|
+ time hbase.hregion.flush.size bytes. Useful preventing
|
|
|
+ runaway memstore during spikes in update traffic. Without an
|
|
|
+ upper-bound, memstore fills such that when it flushes the
|
|
|
+ resultant flush files take a long time to compact or split, or
|
|
|
+ worse, we OOME
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+ <property>
|
|
|
+ <name>hbase.hregion.memstore.flush.size</name>
|
|
|
+ <value></value>
|
|
|
+ <description>
|
|
|
+ Memstore will be flushed to disk if size of the memstore
|
|
|
+ exceeds this number of bytes. Value is checked by a thread that runs
|
|
|
+ every hbase.server.thread.wakefrequency.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+ <property>
|
|
|
+ <name>hbase.hregion.memstore.mslab.enabled</name>
|
|
|
+ <value></value>
|
|
|
+ <description>
|
|
|
+ Enables the MemStore-Local Allocation Buffer,
|
|
|
+ a feature which works to prevent heap fragmentation under
|
|
|
+ heavy write loads. This can reduce the frequency of stop-the-world
|
|
|
+ GC pauses on large heaps.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+ <property>
|
|
|
+ <name>hbase.hregion.max.filesize</name>
|
|
|
+ <value></value>
|
|
|
+ <description>
|
|
|
+ Maximum HStoreFile size. If any one of a column families' HStoreFiles has
|
|
|
+ grown to exceed this value, the hosting HRegion is split in two.
|
|
|
+ Default: 1G.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+ <property>
|
|
|
+ <name>hbase.client.scanner.caching</name>
|
|
|
+ <value></value>
|
|
|
+ <description>Number of rows that will be fetched when calling next
|
|
|
+ on a scanner if it is not served from (local, client) memory. Higher
|
|
|
+ caching values will enable faster scanners but will eat up more memory
|
|
|
+ and some calls of next may take longer and longer times when the cache is empty.
|
|
|
+ Do not set this value such that the time between invocations is greater
|
|
|
+ than the scanner timeout; i.e. hbase.regionserver.lease.period
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+ <property>
|
|
|
+ <name>zookeeper.session.timeout</name>
|
|
|
+ <value>30000</value>
|
|
|
+ <description>ZooKeeper session timeout.
|
|
|
+ HBase passes this to the zk quorum as suggested maximum time for a
|
|
|
+ session (This setting becomes zookeeper's 'maxSessionTimeout'). See
|
|
|
+ http://hadoop.apache.org/zookeeper/docs/current/zookeeperProgrammers.html#ch_zkSessions
|
|
|
+ "The client sends a requested timeout, the server responds with the
|
|
|
+ timeout that it can give the client. " In milliseconds.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+ <property>
|
|
|
+ <name>hbase.client.keyvalue.maxsize</name>
|
|
|
+ <value></value>
|
|
|
+ <description>Specifies the combined maximum allowed size of a KeyValue
|
|
|
+ instance. This is to set an upper boundary for a single entry saved in a
|
|
|
+ storage file. Since they cannot be split it helps avoiding that a region
|
|
|
+ cannot be split any further because the data is too large. It seems wise
|
|
|
+ to set this to a fraction of the maximum region size. Setting it to zero
|
|
|
+ or less disables the check.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+ <property>
|
|
|
+ <name>hbase.hstore.compactionThreshold</name>
|
|
|
+ <value></value>
|
|
|
+ <description>
|
|
|
+ If more than this number of HStoreFiles in any one HStore
|
|
|
+ (one HStoreFile is written per flush of memstore) then a compaction
|
|
|
+ is run to rewrite all HStoreFiles files as one. Larger numbers
|
|
|
+ put off compaction but when it runs, it takes longer to complete.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+ <property>
|
|
|
+ <name>hbase.hstore.flush.retries.number</name>
|
|
|
+ <value>120</value>
|
|
|
+ <description>
|
|
|
+ The number of times the region flush operation will be retried.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+
|
|
|
+ <property>
|
|
|
+ <name>hbase.hstore.blockingStoreFiles</name>
|
|
|
+ <value></value>
|
|
|
+ <description>
|
|
|
+ If more than this number of StoreFiles in any one Store
|
|
|
+ (one StoreFile is written per flush of MemStore) then updates are
|
|
|
+ blocked for this HRegion until a compaction is completed, or
|
|
|
+ until hbase.hstore.blockingWaitTime has been exceeded.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+ <property>
|
|
|
+ <name>hfile.block.cache.size</name>
|
|
|
+ <value></value>
|
|
|
+ <description>
|
|
|
+ Percentage of maximum heap (-Xmx setting) to allocate to block cache
|
|
|
+ used by HFile/StoreFile. Default of 0.25 means allocate 25%.
|
|
|
+ Set to 0 to disable but it's not recommended.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+
|
|
|
+ <!-- The following properties configure authentication information for
|
|
|
+ HBase processes when using Kerberos security. There are no default
|
|
|
+ values, included here for documentation purposes -->
|
|
|
+ <property>
|
|
|
+ <name>hbase.master.keytab.file</name>
|
|
|
+ <value></value>
|
|
|
+ <description>Full path to the kerberos keytab file to use for logging in
|
|
|
+ the configured HMaster server principal.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+ <property>
|
|
|
+ <name>hbase.master.kerberos.principal</name>
|
|
|
+ <value></value>
|
|
|
+ <description>Ex. "hbase/_HOST@EXAMPLE.COM". The kerberos principal name
|
|
|
+ that should be used to run the HMaster process. The principal name should
|
|
|
+ be in the form: user/hostname@DOMAIN. If "_HOST" is used as the hostname
|
|
|
+ portion, it will be replaced with the actual hostname of the running
|
|
|
+ instance.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+ <property>
|
|
|
+ <name>hbase.regionserver.keytab.file</name>
|
|
|
+ <value></value>
|
|
|
+ <description>Full path to the kerberos keytab file to use for logging in
|
|
|
+ the configured HRegionServer server principal.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+ <property>
|
|
|
+ <name>hbase.regionserver.kerberos.principal</name>
|
|
|
+ <value></value>
|
|
|
+ <description>Ex. "hbase/_HOST@EXAMPLE.COM". The kerberos principal name
|
|
|
+ that should be used to run the HRegionServer process. The principal name
|
|
|
+ should be in the form: user/hostname@DOMAIN. If "_HOST" is used as the
|
|
|
+ hostname portion, it will be replaced with the actual hostname of the
|
|
|
+ running instance. An entry for this principal must exist in the file
|
|
|
+ specified in hbase.regionserver.keytab.file
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+
|
|
|
+ <!-- Additional configuration specific to HBase security -->
|
|
|
+ <property>
|
|
|
+ <name>hbase.superuser</name>
|
|
|
+ <value>hbase</value>
|
|
|
+ <description>List of users or groups (comma-separated), who are allowed
|
|
|
+ full privileges, regardless of stored ACLs, across the cluster.
|
|
|
+ Only used when HBase security is enabled.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+
|
|
|
+ <property>
|
|
|
+ <name>hbase.security.authentication</name>
|
|
|
+ <value>simple</value>
|
|
|
+ </property>
|
|
|
+
|
|
|
+ <property>
|
|
|
+ <name>hbase.security.authorization</name>
|
|
|
+ <value>false</value>
|
|
|
+ <description>Enables HBase authorization. Set the value of this property to false to disable HBase authorization.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+
|
|
|
+ <property>
|
|
|
+ <name>hbase.coprocessor.region.classes</name>
|
|
|
+ <value></value>
|
|
|
+ <description>A comma-separated list of Coprocessors that are loaded by
|
|
|
+ default on all tables. For any override coprocessor method, these classes
|
|
|
+ will be called in order. After implementing your own Coprocessor, just put
|
|
|
+ it in HBase's classpath and add the fully qualified class name here.
|
|
|
+ A coprocessor can also be loaded on demand by setting HTableDescriptor.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+
|
|
|
+ <property>
|
|
|
+ <name>hbase.coprocessor.master.classes</name>
|
|
|
+ <value></value>
|
|
|
+ <description>A comma-separated list of
|
|
|
+ org.apache.hadoop.hbase.coprocessor.MasterObserver coprocessors that are
|
|
|
+ loaded by default on the active HMaster process. For any implemented
|
|
|
+ coprocessor methods, the listed classes will be called in order. After
|
|
|
+ implementing your own MasterObserver, just put it in HBase's classpath
|
|
|
+ and add the fully qualified class name here.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+
|
|
|
+ <property>
|
|
|
+ <name>hbase.zookeeper.property.clientPort</name>
|
|
|
+ <value>2181</value>
|
|
|
+ <description>Property from ZooKeeper's config zoo.cfg.
|
|
|
+ The port at which the clients will connect.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+
|
|
|
+ <!--
|
|
|
+ The following three properties are used together to create the list of
|
|
|
+ host:peer_port:leader_port quorum servers for ZooKeeper.
|
|
|
+ -->
|
|
|
+ <property>
|
|
|
+ <name>hbase.zookeeper.quorum</name>
|
|
|
+ <value></value>
|
|
|
+ <description>Comma separated list of servers in the ZooKeeper Quorum.
|
|
|
+ For example, "host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".
|
|
|
+ By default this is set to localhost for local and pseudo-distributed modes
|
|
|
+ of operation. For a fully-distributed setup, this should be set to a full
|
|
|
+ list of ZooKeeper quorum servers. If HBASE_MANAGES_ZK is set in hbase-env.sh
|
|
|
+ this is the list of servers which we will start/stop ZooKeeper on.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+ <!-- End of properties used to generate ZooKeeper host:port quorum list. -->
|
|
|
+
|
|
|
+ <property>
|
|
|
+ <name>hbase.zookeeper.useMulti</name>
|
|
|
+ <value>true</value>
|
|
|
+ <description>Instructs HBase to make use of ZooKeeper's multi-update functionality.
|
|
|
+ This allows certain ZooKeeper operations to complete more quickly and prevents some issues
|
|
|
+ with rare Replication failure scenarios (see the release note of HBASE-2611 for an example).·
|
|
|
+ IMPORTANT: only set this to true if all ZooKeeper servers in the cluster are on version 3.4+
|
|
|
+ and will not be downgraded. ZooKeeper versions before 3.4 do not support multi-update and will
|
|
|
+ not fail gracefully if multi-update is invoked (see ZOOKEEPER-1495).
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+ <property>
|
|
|
+ <name>zookeeper.znode.parent</name>
|
|
|
+ <value>/hbase-unsecure</value>
|
|
|
+ <description>Root ZNode for HBase in ZooKeeper. All of HBase's ZooKeeper
|
|
|
+ files that are configured with a relative path will go under this node.
|
|
|
+ By default, all of HBase's ZooKeeper file path are configured with a
|
|
|
+ relative path, so they will all go under this directory unless changed.
|
|
|
+ </description>
|
|
|
+ </property>
|
|
|
+
|
|
|
+ <property>
|
|
|
+ <name>hbase.defaults.for.version.skip</name>
|
|
|
+ <value>true</value>
|
|
|
+ <description>Disables version verification.</description>
|
|
|
+ </property>
|
|
|
+
|
|
|
+ <property>
|
|
|
+ <name>dfs.domain.socket.path</name>
|
|
|
+ <value>/var/lib/hadoop-hdfs/dn_socket</value>
|
|
|
+ <description>Path to domain socket.</description>
|
|
|
+ </property>
|
|
|
+
|
|
|
+</configuration>
|