| <?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>hdfs://localhost:8020/apps/hbase/data</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.master.port</name> |
| <value>60000</value> |
| <description>The port the HBase Master should bind to.</description> |
| </property> |
| <property> |
| <name>hbase.tmp.dir</name> |
| <value>/hadoop/hbase</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.local.dir</name> |
| <value>${hbase.tmp.dir}/local</value> |
| <description>Directory on the local filesystem to be used as a local storage |
| </description> |
| </property> |
| <property> |
| <name>hbase.master.info.bindAddress</name> |
| <value>0.0.0.0</value> |
| <description>The bind address for the HBase Master web UI |
| </description> |
| </property> |
| <property> |
| <name>hbase.master.info.port</name> |
| <value>60010</value> |
| <description>The port for the HBase Master web UI.</description> |
| </property> |
| <property> |
| <name>hbase.regionserver.info.port</name> |
| <value>60030</value> |
| <description>The port for the HBase RegionServer web UI.</description> |
| </property> |
| <property> |
| <name>hbase.regionserver.global.memstore.upperLimit</name> |
| <value>0.4</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>60</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>86400000</value> |
| <description>The time (in milliseconds) 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>0.38</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>2</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>134217728</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>true</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>10737418240</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>100</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>10485760</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>3</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>10</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>0.40</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>/etc/security/keytabs/hbase.service.keytab</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>hbase/_HOST@EXAMPLE.COM</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>/etc/security/keytabs/hbase.service.keytab</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>hbase/_HOST@EXAMPLE.COM</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> |
| <description> Controls whether or not secure authentication is enabled for HBase. Possible values are 'simple' |
| (no authentication), and 'kerberos'. |
| </description> |
| </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>localhost</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> |