并不是所有的配置选项都会将其发送到hbase-default.xml。
一些配置只会涌如今源代码中;因此识别这些变动的唯一方法是通过代码审查。

目前,这里的变动将须要为HBase重启集群来把稳到这个变革。

HBase 默认配置

以下文档是利用默认的HBase配置文件hbase-default.xml作为源天生的。

jsp使用hbaseHBase 默认设置装备摆设 RESTful API

hbase.tmp.dir这是本地文件系统上的临时目录。
将此设置变动为指向比“/tmp”更持久的位置,这是java.io.tmpdir的常见地决方案,由于在重新启动打算机时打消了“/tmp”目录。
认为: ${java.io.tmpdir}/hbase-${user.name}hbase.rootdir这个目录是region servers共享的目录,HBase保持不变。
该URL该当是“完备限定的”以包括文件系统的scheme。
例如,要指定HDFS实例的"/hbase"目录,namenode运行在namenode.example.org的9000端口,请将此值设置为:hdfs://namenode.example.org:9000 / hbase。
默认情形下,我们会写$ {hbase.tmp.dir},常日是/tmp - 以是改变这个配置,否则所有的数据在打算机重启时都会丢失。
默认为:${hbase.tmp.dir}/hbasehbase.cluster.distributed群集所处的模式。
对付独立模式,可能的值为false,对付分布式模式,可能的值为true。
如果为false,启动将在一个JVM中一起运行所有HBase和ZooKeeper守护程序。
默认为:falsehbase.zookeeper.quorum利用逗号分隔的ZooKeeper凑集中的做事器列表(这个配置该当被命名为hbase.zookeeper.ensemble)。
例如,“host1.mydomain.com,host2.mydomain.com,host3.mydomain.com”。
默认情形下,对付本地和伪分布式操作模式,将其设置为localhost。
对付完备分布式安装,应将其设置为ZooKeeper集成做事器的完全列表。
如果在hbase-env.sh中设置HBASE_MANAGES_ZK,这是hbase将作为群集启动/停滞的一部分来启动/停滞ZooKeeper的做事器列表。
客户端,我们将把这个凑集成员的列表,并把它与hbase.zookeeper.property.clientPort配置放在一起。
并将其作为connectString参数通报给zookeeper布局函数。
默认为:localhostzookeeper.recovery.retry.maxsleeptime在重试 zookeeper操作之前的最大就寝韶光(以毫秒为单位),这里须要最大韶光,以便就寝韶光不会无限增长。
默认为:60000hbase.local.dir将本地文件系统上的目录用作本地存储。
默认为:${hbase.tmp.dir}/local/hbase.master.portHBase Master该当绑定的端口。
默认为:16000hbase.master.info.portHBase Master Web UI的端口。
如果您不想运行UI实例,请将其设置为-1。
默认为:16010hbase.master.info.bindAddressHBase Master Web UI的绑定地址默认为:0.0.0.0hbase.master.logcleaner.plugins由LogsCleaner做事调用的BaseLogCleanerDelegate的逗号分隔列表。
这些WAL清理是按顺序调用的。
要实现您自己的BaseLogCleanerDelegate,只需将其放入HBase的类路径中,并在此添加完备限定的类名。
始终在列表中添加上面的默认日志清理工具。
默认为:org.apache.hadoop.hbase.master.cleaner.TimeToLiveLogCleaner,org.apache.hadoop.hbase.master.cleaner.TimeToLiveProcedureWALCleanerhbase.master.logcleaner.ttlWAL在归档({hbase.rootdir} / oldWALs)目录中保留多久,之后将由主线程打消。
该值以毫秒为单位。
默认为:600000hbase.master.procedurewalcleaner.ttl程序WAL将在归档目录中保留多久,之后将由主线程打消。
该值以毫秒为单位。
默认为:604800000hbase.master.hfilecleaner.plugins由HFileCleaner做事调用的BaseHFileCleanerDelegate的逗号分隔列表。
这些HFile清理器按顺序调用。
要实现您自己的BaseHFileCleanerDelegate,只需将其放入HBase的类路径中,并在此添加完备限定的类名。
总是在列表中添加上面的默认日志打消程序,由于它们将被覆盖在hbase-site.xml中。
默认为:org.apache.hadoop.hbase.master.cleaner.TimeToLiveHFileCleanerhbase.master.infoserver.redirectMaster是否监听Master Web UI端口(hbase.master.info.port)并将要求重定向到由Master和RegionServer共享的Web UI做事器。
配置,当主理事区域(而不是默认)时是故意义的。
默认为:truehbase.master.fileSplitTimeout分割一个区域,在放弃考试测验之前等待文件分割步骤须要多永劫光。
默认值:600000。
这个设置在hbase-1.x中被称为hbase.regionserver.fileSplitTimeout。
Split现在运行主端,因此重命名(如果找到'hbase.master.fileSplitTimeout'设置,将利用它来添补任前'hbase.master.fileSplitTimeout'配置。
默认为:600000hbase.regionserver.portHBase RegionServer绑定的端口。
默认为:16020hbase.regionserver.info.portHBase RegionServer Web UI的端口如果您不肯望RegionServer UI运行,请将其设置为-1。
默认为:16030hbase.regionserver.info.bindAddressHBase RegionServer Web UI的地址默认为:0.0.0.0hbase.regionserver.info.port.autoMaster或RegionServer UI是否应搜索要绑定的端口。
如果hbase.regionserver.info.port已被利用,则启用自动端口搜索。
用于测试,默认关闭。
默认为:falsehbase.regionserver.handler.count在RegionServers上启动RPC Listener实例的计数。
Master利用相同的属性来处理主处理程序的数量。
太多的处理者可能会揠苗助长。
使其成为CPU数量的倍数。
如果紧张是只读的,处理程序计数靠近CPU计数做得很好。
从CPU数量的两倍开始,并从那里调度。
默认为:30hbase.ipc.server.callqueue.handler.factor确定呼叫行列步队数量的成分。
值为0表示在所有处理程序之间共享单个行列步队。
值为1意味着每个处理程序都有自己的行列步队。
默认为:0.1hbase.ipc.server.callqueue.read.ratio将调用行列步队分成读写行列步队。
指定的韶光间隔(该当在0.0到1.0之间)将乘以调用行列步队的数量。
值为0表示不分割调用行列步队,这意味着读取和写入要求将被推送到相同的一组行列步队中。
低于0.5的值意味着将比写入行列步队更少的读取行列步队。
值为0.5意味着将有相同数量的读写行列步队。
大于0.5的值意味着将有更多的读行列步队而不是写入行列步队。
值为1.0意味着除了一个之外的所有行列步队都用于发送读取要求。
示例:假设调用行列步队的总数为10,则read.ratio为0意味着:10个行列步队将同时包含读/写要求。
0.3的读取比例意味着:3个行列步队将只包含读取要求,7个行列步队将只包含写入要求。
0.5的read.ratio表示:5个行列步队将只包含读取要求,5个行列步队将只包含写入要求。
0.8的read.ratio意味着:8个行列步队将只包含读取要求,2个行列步队将只包含写入要求。
1的read.ratio表示:9个行列步队将只包含读取要求,1个行列步队将只包含写入要求。
默认为:0hbase.ipc.server.callqueue.scan.ratio考虑到读取的调用行列步队的数量(根据调用行列步队的总数乘以callqueue.read.ratio打算),scan.ratio属性将把读取的调用行列步队拆分为小读取和长读取行列步队。
低于0.5的值意味着长读行列步队比短读行列步队少。
值为0.5意味着将有相同数量的短读取和长读取行列步队。
大于0.5的值意味着将会有比长读取行列步队更多的长读取行列步队。
值0或1表示利用同一组行列步队进行获取和扫描。
示例:给定读取调用行列步队的总数为8,scan.ratio为0或1意味着:8个行列步队将包含长读要乞降短读要求。
0.3的scan.ratio表示:2个行列步队只包含长读要求,6个行列步队只包含短读要求。
0.5的scan.ratio表示:4个行列步队只包含长读要求,4个行列步队只包含短读要求。
0.8的scan.ratio意味着:6个行列步队只包含长读要求,2个行列步队只包含短读要求。
默认为:0hbase.regionserver.msginterval从RegionServer到Master的间隔(以毫秒为单位)。
默认为:3000hbase.regionserver.logroll.period无论有多少次编辑,我们将滚动提交日志的韶光段。
默认为:3600000hbase.regionserver.logroll.errors.tolerated在触发做事器中止之前,我们将许可连续的WAL关闭缺点的数量。
如果在日志滚动过程中关闭当前WAL书写器失落败,则设置为0将导致区域做事器中止。
纵然是一个很小的值(2或3)也会让区域做事器承担瞬间的HDFS缺点。
默认为:2hbase.regionserver.hlog.reader.implWAL文件读取器的实现。
默认为:org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReaderhbase.regionserver.hlog.writer.implWAL文件编写器的实现。
默认为:org.apache.hadoop.hbase.regionserver.wal.ProtobufLogWriterhbase.regionserver.global.memstore.size在新更新被阻挡并刷新之前,区域做事器中所有存储区的最大大小。
默认为堆的40%(0.4)。
更新被阻挡,逼迫刷新直到区域做事器中的所有内存大小都达到hbase.regionserver.global.memstore.size.lower.limit。
此配置中的默认值已被故意留空,以便兑现旧的hbase.regionserver.global.memstore.upperLimit属性(如果存在)。
没有默认值。
hbase.regionserver.global.memstore.size.lower.limit逼迫刷新之前,区域做事器中所有存储区的最大大小。
默认为hbase.regionserver.global.memstore.size(0.95)的95%。
当由于内存限定而导致更新被壅塞时,此值的100%会导致最小可能的刷新。
此配置中的默认值已被故意留空,以便兑现旧的hbase.regionserver.global.memstore.lowerLimit属性(如果存在)。
没有默认值。
hbase.systemtables.compacting.memstore.type确定用于系统表(如META,名称空间表等)的memstore的类型。
默认情形下,NONE是类型,因此我们对所有系统表利用默认的memstore。
如果我们须要为系统表利用压缩存储器,那么将这个属性设置为:BASIC / EAGER默认值:NONEhbase.regionserver.optionalcacheflushinterval在自动刷新之前,编辑在内存中的最永劫光。
默认为1小时。
将其设置为0将禁用自动刷新。
默认为:3600000hbase.regionserver.dns.interface区域做事器应从中报告其IP地址的网络接口的名称。
默认为:defaulthbase.regionserver.dns.nameserver域名做事器应利用的名称做事器(DNS)的主机名或IP地址,以确定主机用于通信和显示的主机名。
默认为:defaulthbase.regionserver.region.split.policy分割策略决定了一个区域该当何时拆分。
当前可用的各种其他拆分策略是:BusyRegionSplitPolicy,ConstantSizeRegionSplitPolicy,DisabledRegionSplitPolicy,DelimitedKeyPrefixRegionSplitPolicy,KeyPrefixRegionSplitPolicy和SteppingSplitPolicy。
DisabledRegionSplitPolicy会阻挡手动区域分割。
默认为:org.apache.hadoop.hbase.regionserver.SteppingSplitPolicyhbase.regionserver.regionSplitLimit限定区域数量,之后不再发生区域分割。
这并不是硬性限定区域数量,而是作为区域做事商在一定限度之后停滞分裂的辅导方针。
默认设置为1000。
默认为:1000zookeeper.session.timeoutZooKeeper会话超时(以毫秒为单位)。
它利用两种不同的办法。
首先,这个值用于HBase用来连接到凑集的ZK客户端。
当它启动一个ZK做事器时它也被HBase利用,并且它被作为'maxSessionTimeout'通报。
请参阅http://hadoop.apache.org/zookeeper/docs/current/zookeeperProgrammers.html#ch_zkSessions。
例如,如果HBase区域做事器连接到也由HBase管理的ZK凑集,那么会话超时将是由此配置指定的。
但是,连接到以不同配置管理的集成的区域做事器将受到该凑集的maxSessionTimeout的限定。
以是,只管HBase可能会建议利用90秒,但是整体的最大超时时间可能会低于此值,并且会优先考虑。
ZK目前的默认值是40秒,比HBase的低。
默认为:90000zookeeper.znode.parentZooKeeper中用于HBase的Root ZNode。
所有配置了相对路径的HBase的ZooKeeper文件都会在这个节点下。
默认情形下,所有的HBase的ZooKeeper文件路径都被配置为一个相对路径,以是它们将全部进入这个目录下,除非被改变。
默认为:/hbasezookeeper.znode.acl.parentRoot ZNode用于访问掌握列表。
默认为:aclhbase.zookeeper.dns.interfaceZooKeeper做事器应从中报告其IP地址的网络接口的名称。
默认为:defaulthbase.zookeeper.dns.nameserver名称做事器(DNS)的主机名或IP地址,ZooKeeper做事器应利用该名称做事器来确定主机用于通信和显示的主机名。
默认为:defaulthbase.zookeeper.peerportZooKeeper差错利用的端口进行彼此会话。
有关更多信息,请参阅http://hadoop.apache.org/zookeeper/docs/r3.1.1/zookeeperStarted.html#sc_RunningReplicatedZooKeeper。
默认为:2888hbase.zookeeper.leaderportZooKeeper用于leader选举的端口。
有关更多信息,请参阅http://hadoop.apache.org/zookeeper/docs/r3.1.1/zookeeperStarted.html#sc_RunningReplicatedZooKeeper。
默认为:3888hbase.zookeeper.property.initLimit来自ZooKeeper的配置zoo.cfg的属性。
初始同步阶段可以采取的时钟(ticks)周期数。
默认为:10hbase.zookeeper.property.syncLimit来自ZooKeeper的配置zoo.cfg的属性。
发送要乞降获取确认之间可以通报的时钟(ticks)数量。
默认为:5hbase.zookeeper.property.dataDir来自ZooKeeper的配置zoo.cfg的属性。
快照存储的目录。
默认为:${hbase.tmp.dir}/zookeeperhbase.zookeeper.property.clientPort来自ZooKeeper的配置zoo.cfg的属性。
客户端将连接的端口。
默认为:2181hbase.zookeeper.property.maxClientCnxns来自ZooKeeper的配置zoo.cfg的属性。
限定由IP地址标识的单个客户真个并发连接数量(在套接字级别)可能会对ZooKeeper凑集的单个成员产生影响。
设置为高,以避免独立运行和伪分布式运行的zk连接问题。
默认为:300hbase.client.write.bufferBufferedMutator写入缓冲区的默认大小(以字节为单位)。
一个更大的缓冲区须要更多的内存 - 在客户端和做事器端,由于做事器实例化通报的写入缓冲区来处理它 - 但更大的缓冲区大小减少了RPC的数量。
对付估计利用的做事器端内存,打算:hbase.client.write.buffer hbase.regionserver.handler.count默认为:2097152hbase.client.pause一样平常客户端pause值。
在运行失落败的get,region lookup等的重试之前,紧张用作等待的值。
默认为:100hbase.client.pause.cqtbe是否为CallQueueTooBigException(cqtbe)利用分外的客户端pause。
如果您不雅观察到来自同一个RegionServer的频繁的CQTBE,并且个中的调用行列步队保持充满,则将此属性设置为比hbase.client.pause更高的值没有默认值。
hbase.client.retries.number最大重试次数。
用作所有可重试操作(如获取单元格值,启动行更新等)的最大值。
重试间隔是基于hbase.client.pause的粗略函数。
首先,我们在这段韶光重试,但后来退后,我们很快就达到每十秒钟重试一次。
请参阅HConstants#RETRY_BACKOFF理解备份如何提升。
改变这个设置和hbase.client.pause来适应你的事情负载。
默认为:15hbase.client.max.total.tasks单个HTable实例发送到集群的最大并发突变任务数。
默认为:100hbase.client.max.perserver.tasks单个HTable实例将发送到单个区域做事器的并发突变任务的最大数量。
默认为:2hbase.client.max.perregion.tasks客户端将掩护到单个Region的最大并发突变任务数。
也便是说,如果已经有hbase.client.max.perregion.tasks写入这个区域,那么新的放入将不会被发送到这个区域,直到一些写入完成。
默认为:1hbase.client.perserver.requests.threshold所有客户端线程(进程级别)中一个做事器的并发未决要求的最大数量。
超过要求将立即抛出ServerTooBusyException,以防止用户的线程被占用和只被一个缓慢的区域做事器阻挡。
如果利用固天命量的线程以同步办法访问HBase,请将此值设置为与线程数量干系的适当值,这些值将对您有所帮助。
默认为:2147483647hbase.client.scanner.caching如果从本地,客户端内存中未供应,则在扫描程序上调用next时考试测验获取的行数。
此配置与hbase.client.scanner.max.result.size一起利用,可以有效地利用网络。
缺省值默认为Integer.MAX_VALUE,这样网络将添补由hbase.client.scanner.max.result.size定义的块大小,而不受特定行数的限定,由于行的大小随表格的不同而不同。
如果您事先知道扫描中不须要超过一定数量的行,则应通过扫描#setCaching将此配置设置为该行限定。
缓存值越高,扫描器的速率越快,但是会占用更多的内存,而当缓存空置时,下一次调用的韶光可能会越来越长。
请勿设置此值,以便调用之间的韶光大于扫描器超时;即hbase.client.scanner.timeout.period默认为:2147483647hbase.client.keyvalue.maxsize指定KeyValue实例的组合的最大许可大小。
这是为保存在存储文件中的单个条款设置上限。
由于它们不能被分割,以是有助于避免由于数据太大而导致地区不能被分割。
将此设置为最大区域大小的一小部分彷佛是明智的。
将其设置为零或更少将禁用检讨。
默认为:10485760hbase.server.keyvalue.maxsize单个单元格的最大许可大小,包括值和所有关键组件。
值为0或更小将禁用检讨。
默认值是10MB。
这是保护做事器免受OOM情形的安全设置。
默认为:10485760hbase.client.scanner.timeout.period客户端扫描程序的租期以毫秒为单位。
默认为:60000hbase.client.localityCheck.threadPoolSize默认为:2hbase.bulkload.retries.number最大重试次数,这是在面对分裂操作时考试测验原子批量加载的最大迭代次数,0意味着永不放弃。
默认为:10hbase.master.balancer.maxRitPercent平衡时转换区域的最大百分比。
默认值是1.0。
以是没有平衡器节流。
如果将此配置设置为0.01,则意味着在平衡时转换中最多有1%的区域。
那么当平衡时,集群的可用性至少为99%。
默认为:1.0hbase.balancer.period区域平衡器在主站运行的韶光段。
默认为:300000hbase.normalizer.period区域标准化程序在主程序中运行的时段。
默认为:300000hbase.regions.slop如果任何区域做事用具有均匀值+(均匀斜率)区域,则重新平衡。
StochasticLoadBalancer(默认负载均衡器)中此参数的默认值为0.001,其他负载均衡器(即SimpleLoadBalancer)中的默认值为0.2。
默认为:0.001hbase.server.thread.wakefrequency在两次搜索之间安歇的韶光(以毫秒为单位)。
用作日志滚筒等做事线程的就寝间隔。
默认为:10000hbase.server.versionfile.writeattempts在放弃之前重试考试测验写入版本文件的次数。
每个考试测验都由hbase.server.thread.wake频率毫秒分隔。
默认为:3hbase.hregion.memstore.flush.size如果memstore的大小超过此字节数,Memstore将被刷新到磁盘。
值由每个hbase.server.thread.wakefrequency运行的线程检讨。
默认为:134217728hbase.hregion.percolumnfamilyflush.size.lower.bound.min如果利用了FlushLargeStoresPolicy,并且有多个列族,那么每当我们达到完备的memstore限定时,我们就会找出所有memstore超过“下限”的列族,只有在保留其他内存的同时刷新它们。
默认情形下,“下限”将是“hbase.hregion.memstore.flush.size/column_family_number”,除非该属性的值大于该值。
如果没有一个族的memstore大小超过下限,所有的memstore都将被刷新(就像往常一样)。
默认为:16777216hbase.hregion.preclose.flush.size如果我们关闭时某个区域的存储空间大于或即是这个大小,则可以运行“预先刷新(pre-flush)”来打消存储区,然后再放置区域关闭标记并使区域脱机。
关闭时,在关闭标志下运行刷新以清空内存。
在此期间,该地区处于离线状态,我们没有进行任何写入。
如果memstore内容很大,则此刷新可能须要很永劫光才能完成。
这个预刷新是为了清理大部分的memstore,然后把关闭标志放到离线区域,这样在关闭标志下运行的刷新没有什么用途。
默认为:5242880hbase.hregion.memstore.block.multiplier如果memstore具有hbase.hregion.memstore.block.multiplier乘以hbase.hregion.memstore.flush.size个字节,则阻挡更新。
在更新通信高峰期间有用的防止失落控的memstore。
如果没有上限,memstore就会填满,当刷新天生的flush文件须要很永劫光才能压缩或拆分。
默认为:4hbase.hregion.memstore.mslab.enabled启用MemStore-Local分配缓冲区,该功能可用于在繁重的写入负载下防止堆碎片。
这可以减少在大堆停滞全局GC pause的频率。
默认为:truehbase.hregion.max.filesize最大HFile大小。
如果一个地区的HFiles的总和已经超过了这个数值,这个地区就会被分成两部分。
默认为:10737418240hbase.hregion.majorcompaction紧张压缩之间的韶光,以毫秒表示。
设置为0可禁用基于韶光的自动主要压缩。
用户要求的和基于大小的紧张压缩将仍旧运行。
这个值乘以hbase.hregion.majorcompaction.jitter,使压缩在一个给定的韶光窗口内轻微随机的韶光开始。
默认值是7天,以毫秒表示。
如果紧张压缩导致您的环境中断,则可以将它们配置为在支配的非高峰韶光运行,或者通过将此参数设置为0来禁用基于韶光的紧张压缩,并在cron作业或另一个外部机制。
默认为:604800000hbase.hregion.majorcompaction.jitter运用于hbase.hregion.majorcompaction的乘数会导致压缩发生在给定的韶光量的任何一侧的hbase.hregion.majorcompaction。
数字越小,压缩将越靠近hbase.hregion.majorcompaction韶光间隔。
默认为:0.50hbase.hstore.compactionThreshold如果任何一个Store中存在超过此数量的StoreFiles(每个MemStore刷新一个StoreFile),则会实行压缩以将所有StoreFile重写为单个StoreFile。
较大的值会延迟压实,但是当压缩发生时,须要较永劫光才能完成。
默认为:3hbase.hstore.flusher.count刷新线程的数量。
用更少的线程,MemStore刷新将排队。
随着线程数量的增加,刷新将并行实行,增加了HDFS的负载,并可能导致更多的压缩。
默认为:2hbase.hstore.blockingStoreFiles如果任何一个Store中存在超过此数量的StoreFiles(每次刷新MemStore时将写入一个StoreFile),则会阻挡该区域的更新,直到压缩完成或超出hbase.hstore.blockingWaitTime。
默认为:16hbase.hstore.blockingWaitTime在达到hbase.hstore.blockingStoreFiles定义的StoreFile限定后,区域将阻挡更新的韶光。
经由这段韶光后,纵然压缩尚未完成,该地区也将停滞阻挡更新。
默认为:90000hbase.hstore.compaction.min压缩可以运行之前,必须有符合进行压缩条件的最小StoreFiles数量。
调度hbase.hstore.compaction.min的目标是避免利用太多的小型StoreFiles来压缩。
如果将此值设置为2,则每次在Store中有两个StoreFiles时会导致轻微的压缩,这可能不得当。
如果将此值设置得太高,则须要相应调度所有其他值。
对付大多数情形下,默认值是适当的。
在以前的HBase版本中,参数hbase.hstore.compaction.min被命名为hbase.hstore.compactionThreshold。
默认为:3hbase.hstore.compaction.max无论符合条件的StoreFiles的数量如何,将为单个次要压缩选择的StoreFiles的最大数量。
有效地,hbase.hstore.compaction.max的值掌握单个压缩完成所需的韶光长度。
将其设置得更大意味着更多的StoreFiles包含在压缩中。
对付大多数情形下,默认值是适当的。
默认为:10hbase.hstore.compaction.min.sizeStoreFile(或利用ExploringCompactionPolicy时选择的StoreFiles)小于此大小将始终有资格进行轻微压缩。
这个大小或更大的HFile通过hbase.hstore.compaction.ratio进行打算,以确定它们是否合格。
由于此限定表示所有StoreFiles的“自动包含”限定小于此值,因此在须要刷新多个StoreFile(1-2 MB范围内的许多StoreFiles)的写入繁重环境中可能须要降落此值,由于每个StoreFile都将作为目标,对付压缩而言,所得到的StoreFile可能仍旧在最小尺寸下,并且须要进一步的压缩。
如果此参数降落,比率检讨会更快地触发。
这办理了在早期版本的HBase中看到的一些问题,但是在大多数情形下不再须要变动此参数。
默认为:134217728hbase.hstore.compaction.max.sizeStoreFile(或利用ExploringCompactionPolicy时选择的StoreFiles)大于此大小将被打消在压缩之外。
提高hbase.hstore.compaction.max.size的效果较少,较大的StoreFiles不常常压缩。
如果你以为压缩过于频繁而没有太多好处,你可以考试测验提高这个代价。
默认值:LONG.MAX_VALUE的值,以字节表示。
默认为:9223372036854775807hbase.hstore.compaction.ratio对付轻微压缩,此比率用于确定大于hbase.hstore.compaction.min.size的给定StoreFile是否适宜压缩。
其浸染是限定大型StoreFiles的压缩。
hbase.hstore.compaction.ratio的值以浮点小数表示。
一个很大的比例,如10,将产生一个大型的StoreFile。
相反,低值(如0.25)会产生类似于BigTable压缩算法的行为,产生四个StoreFiles。
推举利用1.0到1.4之间的中等数值。
在调度此值时,您要平衡写入本钱与读取本钱。
提高代价(如1.4)会有更多的写入本钱,由于你会压缩更大的StoreFiles。
然而,在读取期间,HBase将须要通过更少的StoreFiles来完成读取。
如果您不能利用Bloom过滤器,请考虑利用这种方法。
否则,可以将此值降落到1.0以降落写入的背景本钱,并利用Bloom过滤器来掌握读取期间触摸的StoreFiles的数量。
对付大多数情形下,默认值是适当的。
默认为:1.2Fhbase.hstore.compaction.ratio.offpeak许可您设置不同(默认情形下,更积极)的比率,以确定在非高峰时段是否包含较大的StoreFiles。
以与hbase.hstore.compaction.ratio相同的办法事情。
仅当hbase.offpeak.start.hour和hbase.offpeak.end.hour也被启用时才适用。
默认为:5.0Fhbase.hstore.time.to.purge.deletes利用未来的韶光戳延迟打消标记的韶光。
如果未设置,或设置为0,则将不才一个紧张压缩过程中打消所有删除标记(包括具有未来韶光戳的标记)。
否则,将保留一个删除标记,直到在标记的韶光戳之后发生的紧张压缩加上此设置的值(以毫秒为单位)。
默认为:0hbase.offpeak.start.hour非高峰时段开始,以0到23之间的整数表示,包括0和23之间的整数。
设置为-1以禁用非高峰。
默认为:-1hbase.offpeak.end.hour非高峰时段结束,以0到23之间的整数表示,包括0和23之间的整数。
设置为-1以禁用非高峰。
默认为:-1hbase.regionserver.thread.compaction.throttle有两个不同的线程池用于压缩,一个用于大型压缩,另一个用于小型压缩。
这有助于保持精简表(如hbase:meta)的快速压缩。
如果压缩度大于此阈值,则会进入大型压缩池。
在大多数情形下,默认值是适当的。
默认值:2 x hbase.hstore.compaction.max x hbase.hregion.memstore.flush.size(默认为128MB)。
值字段假定hbase.hregion.memstore.flush.size的值与默认值相同。
默认为:2684354560hbase.regionserver.majorcompaction.pagecache.drop指定是否通过紧张压缩删除读取/写入系统页面缓存的页面。
将其设置为true有助于防止重大压缩污染页面缓存,这险些总是哀求的,特殊是对付具有低/中等内存与存储率的群集。
默认为:truehbase.regionserver.minorcompaction.pagecache.drop指定是否通过较小的压缩删除读取/写入系统页面缓存的页面。
将其设置为true有助于防止轻微压缩污染页面缓存,这对付内存与存储比率较低的群集或写入较重的群集是最有利的。
昔时夜部分读取位于最近写入的数据上时,您可能希望在中等到低写入事情负载下将其设置为false。
默认为:truehbase.hstore.compaction.kv.max刷新或压缩时要读取并批量写入的KeyValues的最大数量。
如果你有较大的KeyValues,并且Out Of Memory Exceptions有问题,请将它设置得更低。
默认为:10hbase.storescanner.parallel.seek.enable在StoreScanner中启用StoreFileScanner并行搜索功能,该功能可以在分外情形下减少相应延迟。
默认为:falsehbase.storescanner.parallel.seek.threads如果启用了并行查找功能,则默认线程池大小。
默认为:10hfile.block.cache.sizeStoreFile利用的最大堆(-Xmx设置)分配给块缓存的百分比。
默认值为0.4意味着分配40%。
设置为0禁用,但不建议;您至少须要足够的缓存来保存存储文件索引。
默认为:0.4hfile.block.index.cacheonwrite这许可在索引被写入时将非根多级索引块放入块高速缓存中。
默认为:falsehfile.index.block.max.size当多级块索引中叶级,中级或根级索引块的大小增长到这个大小时,块将被写出并启动一个新块。
默认为:131072hbase.bucketcache.ioengine在哪里存储bucketcache的内容。
个中之一:offheap、文件或mmap。
如果有文件,则将其设置为file(s):PATH_TO_FILE。
mmap意味着内容将在一个mmaped文件中。
利用mmap:PATH_TO_FILE。
没有默认值。
hbase.bucketcache.sizeEITHER表示缓存的总堆内存大小的百分比(如果小于1.0),则表示BucketCache的总容量(兆字节)。
默认值:0.0hbase.bucketcache.bucket.sizes用于bucketcache的存储区大小的逗号分隔列表。
可以是多种尺寸。
列出从最小到最大的块大小。
您利用的大小取决于您的数据访问模式。
必须是256的倍数,否则当你从缓存中读取时,你会碰着“java.io.IOException:Invalid HFile block magic”。
如果您在此处未指定任何值,那么您可以选取代码中设置的默认bucketsizes。
没有默认值。
hfile.format.version用于新文件的HFile格式版本。
版本3添加了对hfiles中标签的支持(请参阅http://hbase.apache.org/book.html#hbase.tags)。
另请参阅配置“hbase.replication.rpc.codec”。
默认为:3hfile.block.bloom.cacheonwrite为复合Bloom过滤器的内联块启用写入缓存。
默认为:falseio.storefile.bloom.block.size复合Bloom过滤器的单个块(“chunk”)的字节大小。
这个大小是近似的,由于Bloom块只能被插入到数据块的边界处,而每个数据块的key的个数也不相同。
默认为:131072hbase.rs.cacheblocksonwrite块完成后,是否应将HFile块添加到块缓存中。
默认为:falsehbase.rpc.timeout这是为了让RPC层定义一个远程调用超时(毫秒)HBase客户端运用程序超时。
它利用ping来检讨连接,但终极会抛出TimeoutException。
默认为:60000hbase.client.operation.timeout操作超时是一个顶级的限定(毫秒),确保表格中的阻挡操作不会被阻挡超过这个限定。
在每个操作中,如果rpc要求由于超时或其他缘故原由而失落败,则将重试直到成功或抛出RetriesExhaustedException。
但是,如果总的壅塞韶光在重试耗尽之前达到操作超时,则会提前中断并抛出SocketTimeoutException。
默认为:1200000hbase.cells.scanned.per.heartbeat.check在heartbeat检讨之间扫描的单元格的数量。
在扫描处理过程中会发生heartbeat检讨,以确定做事器是否该当停滞扫描,以便将heartbeat发送回客户端。
heartbeat用于在永劫光运行扫描期间保持客户端 - 做事器连接的活动。
较小的值意味着heartbeat检讨将更频繁地发生,因此将对扫描的实行韶光供应更严格的界线。
数值越大意味着heartbeat检讨发生的频率越低。
默认为:10000hbase.rpc.shortoperation.timeout这是“hbase.rpc.timeout”的另一个版本。
对付集群内的RPC操作,我们依赖此配置为短操作设置短超时限定。
例如,区域做事器试图向活动主理事器报告的短rpc超时可以更快地进行主站故障转移过程。
默认为:10000hbase.ipc.client.tcpnodelay在rpc套接字连接上设置没有延迟。
默认为:truehbase.regionserver.hostname这个配置适用于对HBase很熟习的人:除非你真的知道你在做什么,否则不要设定它的代价。
当设置为非空值时,这表示底层做事器的(面向外部)主机名。
没有默认值。
hbase.regionserver.hostname.disable.master.reversedns这个配置适用于对HBase很闇练的人:除非你真的知道你在做什么,否则不要设定它的代价。
当设置为true时,regionserver将利用当前节点主机名作为做事器名称,HMaster将跳过反向DNS查找并利用regionserver发送的主机名。
请把稳,此配置和hbase.regionserver.hostname是互斥的。
默认为:falsehbase.master.keytab.file用于登录配置的HMaster做事器主体的kerberos密钥表文件的完全路径。
没有默认值。
hbase.master.kerberos.principal“hbase/_HOST@EXAMPLE.COM”,该当用来运行HMaster进程的Kerberos主体名称。
主体名称的格式应为:user/hostname @ DOMAIN。
如果利用“_HOST”作为主机名部分,它将被更换为正在运行的实例的实际主机名。
没有默认值。
hbase.regionserver.keytab.file用于登录配置的HRegionServer做事器主体的kerberos密钥表文件的完全路径。
没有默认值。
hbase.regionserver.kerberos.principal“hbase/_HOST@EXAMPLE.COM”。
该当用来运行HRegionServer进程的kerberos主体名称。
主体名称的格式应为:user/hostname @ DOMAIN。
如果利用“_HOST”作为主机名部分,它将被更换为正在运行的实例的实际主机名。
此主体的条款必须存在于hbase.regionserver.keytab.file中指定的文件中没有默认值。
hadoop.policy.fileRPC做事器利用策略配置文件对客户端要求进行授权决策。
仅在启用HBase安全性时利用。
默认为:hbase-policy.xmlhbase.superuser用户或组列表(以逗号分隔),许可在全体集群中拥有完备权限(不管存储的ACL)。
仅在启用HBase安全性时利用。
没有默认值。
hbase.auth.key.update.interval做事器中认证令牌的主密钥的更新间隔(以毫秒为单位)。
仅在启用HBase安全性时利用。
默认为:86400000hbase.auth.token.max.lifetime验证令牌过期的最永生计韶光(以毫秒为单位)。
仅在启用HBase安全性时利用。
默认为:604800000hbase.ipc.client.fallback-to-simple-auth-allowed当客户端配置为考试测验安全连接,但考试测验连接到不屈安的做事器时,该做事器可能会指示客户端切换到SASL SIMPLE(不屈安)身份验证。
此设置掌握客户端是否接管来自做事器的此指令。
如果为false(默认值),则客户端将不许可回退到SIMPLE身份验证,并会中止连接。
默认为:falsehbase.ipc.server.fallback-to-simple-auth-allowed当做事器配置为须要安全连接时,它将谢绝来自利用SASL SIMPLE(不屈安)身份验证的客户真个连接考试测验。
此设置许可安全做事器在客户端要求时接管来自客户真个SASL SIMPLE连接。
如果为false(默认值),做事器将不许可回退到SIMPLE身份验证,并将谢绝连接。
警告:只有在将客户端转换为安全身份验证时,才应将此设置用作临时方法。
必须禁止它才能进行安全操作。
默认为:falsehbase.display.keys当它被设置为true时,webUI等将显示所有开始/结束键作为表格细节,区域名称等的一部分。
当这被设置为假时,键被隐蔽。
默认为:truehbase.coprocessor.enabled启用或禁用协处理器加载。
如果'false'(禁用),任何其他协处理器干系的配置将被忽略。
默认为:truehbase.coprocessor.user.enabled启用或禁用用户(别号表)协处理器加载。
如果'false'(禁用),则表格描述符中的任何表协处理器属性将被忽略。
如果“hbase.coprocessor.enabled”为“false”,则此设置无效。
默认为:truehbase.coprocessor.region.classes在所有表上默认加载的区域不雅观察者或端点协处理器的逗号分隔列表。
对付任何覆盖协处理器方法,这些类将按顺序调用。
在实现自己的协处理器之后,将其添加到HBase的类路径中,并在此处添加完备限定的类名称。
协处理器也可以通过设置HTableDescriptor或者HBase shell来按需加载。
没有默认值。
hbase.coprocessor.master.classes在活动的HMaster进程中默认加载的org.apache.hadoop.hbase.coprocessor.MasterObserver协处理器的逗号分隔列表。
对付任何履行的协处理器方法,列出的类将按顺序调用。
在实现你自己的MasterObserver之后,把它放在HBase的类路径中,并在这里添加完备限定的类名称。
没有默认值。
hbase.coprocessor.abortonerror如果协处理器加载失落败,初始化失落败或引发意外的Throwable工具,则设置为true将导致托管做事器(主理事器或区域做事器)中止。
将其设置为false将许可做事器连续实行,但所涉及的协处理器的系统范围状态将变得不一致,由于它只能在一部分做事器中精确实行,以是这对付仅调试是非常有用的。
默认为:truehbase.rest.portHBase REST做事器的端口。
默认为:8080hbase.rest.readonly定义REST做事器将启动的模式。
可能的值有:false:此时,所有的HTTP方法都是许可的 - GET / PUT / POST / DELETE。
true:此时只许可GET方法。
默认为:falsehbase.rest.threads.maxREST做事器线程池的最大线程数。
池中的线程被重用来处理REST要求。
这将掌握同时处理的最大要求数。
这可能有助于掌握REST做事器利用的内存以避免OOM问题。
如果线程池已满,则传入的要求将排队并等待一些空闲的线程。
默认为:100hbase.rest.threads.minREST做事器线程池的最小线程数。
线程池总是至少有这么多的线程,以是REST做事器已经准备好为传入的要求供应做事。
默认为:2hbase.rest.support.proxyuser启用运行REST做事器以支持代理用户模式。
默认为:falsehbase.defaults.for.version.skip设置为true可以跳过“hbase.defaults.for.version”检讨。
将其设置为true可以在除maven天生的另一侧之外的高下文中有用;即运行在IDE中。
你须要设置这个布尔值为true以避免看到RuntimeException:“hbase-default.xml文件彷佛是HBase(\ $ {hbase.version})的旧版本,这个版本是XXX-SNAPSHOT”默认为:falsehbase.table.lock.enable设置为true以启用锁定zookeeper中的表以进行模式变动操作。
从主理事器锁定表可以防止并发的模式修正破坏表状态。
默认为:truehbase.table.max.rowsize单行字节的最大大小(默认值为1 Gb),用于Get-ing或Scan'ning,不设置行内扫描标志。
如果行大小超过此限定RowTooBigException被抛出到客户端。
默认为:1073741824hbase.thrift.minWorkerThreads线程池的“核心大小”。
在每个连接上创建新线程,直到创建了许多线程。
默认为:16hbase.thrift.maxWorkerThreads线程池的最大大小。
待处理的要求行列步队溢出时,将创建新线程,直到其号码达到此数字。
之后,做事器开始丢弃连接。
默认为:1000hbase.thrift.maxQueuedRequests在行列步队中等待的最大等待节点连接数。
如果池中没有空闲线程,则做事器将要求排队。
只有当行列步队溢出时,才会添加新的线程,直到hbase.thrift.maxQueuedRequests线程。
默认为:1000hbase.regionserver.thrift.framed在做事器端利用Thrift TFramedTransport。
对付thrift做事器,这是推举的传输办法,须要在客户端进行类似的设置。
将其变动为false将选择默认传输,当由于THRIFT-601发出格式缺点的要求时,随意马虎受到DoS的影响。
默认为:falsehbase.regionserver.thrift.framed.max_frame_size_in_mb利用成帧传输时的默认帧大小,以MB为单位。
默认为:2hbase.regionserver.thrift.compact利用Thrift TCompactProtocol二进制序列化协议。
默认为:falsehbase.rootdir.perms安全(kerberos)安装程序中根数据子目录的FS Permissions。
主理事器启动时,会利用此权限创建rootdir,如果不匹配则设置权限。
默认为:700hbase.wal.dir.perms安全(kerberos)安装程序中的根WAL目录的FS Permissions。
当主理事器启动时,它将利用此权限创建WAL目录,如果不匹配则设置权限。
默认为:700hbase.data.umask.enable如果启用,则启用该文件权限应分配给区域做事器写入的文件默认为:falsehbase.data.umask当hbase.data.umask.enable为true时,该当用来写入数据文件的文件权限默认为:000hbase.snapshot.enabled设置为true以许可taken/restored/cloned。
默认为:truehbase.snapshot.restore.take.failsafe.snapshot设置为true以在还原操作之前得到快照。
所得到的快照将在失落败的情形下利用,以规复以前的状态。
在还原操作结束时,此快照将被删除默认为:truehbase.snapshot.restore.failsafe.namerestore操作所采取的故障安全快照的名称。
您可以利用{snapshot.name},{table.name}和{restore.timestamp}变量根据要规复的内容创建一个名称。
默认为:hbase-failsafe-{snapshot.name}-{restore.timestamp}hbase.server.compactchecker.interval.multiplier这个数字决定了我们扫描的频率,看是否须要压缩。
常日情形下,压缩是在某些事宜(如memstore flush)之后完成的,但是如果区域在一段韶光内没有收到大量的写入,或者由于不同的压缩策略,则可能须要定期检讨。
检讨之间的韶光间隔是hbase.server.compactchecker.interval.multiplier乘以hbase.server.thread.wakefrequency。
默认为:1000hbase.lease.recovery.timeout在放弃之前,我们等待dfs lease的总规复韶光。
默认为:900000hbase.lease.recovery.dfs.timeoutdfs规复lease调用之间的韶光间隔。
该当大于namenode为datanode的一部分发出块规复命令所需的韶光总和;dfs.heartbeat.interval和主数据节点所花费的韶光,在去世数据节点上实行数据块规复到超时;常日是dfs.client.socket-timeout。
默认为:64000hbase.column.max.version新的列族描述符将利用此值作为要保留的默认版本数。
默认为:1dfs.client.read.shortcircuit如果设置为true,则此配置参数启用short-circuit本地读取。
默认为:falsedfs.domain.socket.path如果将dfs.client.read.shortcircuit设置为true,则这是一个UNIX域套接字的路径,该套接字将用于DataNode与本地HDFS客户端之间的通信。
如果该路径中存在字符串“_PORT”,则会被DataNode的TCP端口更换。
请把稳托管共享域套接字的目录的权限。
默认为:nonehbase.dfs.client.read.shortcircuit.buffer.size如果未设置DFSClient配置dfs.client.read.shortcircuit.buffer.size,我们将利用此处配置的内容作为short-circuit读取默认直接字节缓冲区大小。
DFSClient本机默认值是1MB;HBase保持HDFS文件的打开状态,以是文件块1MB的数量很快就开始累积起来,并由于直接内存不敷而威胁OOME。
以是,我们从默认设置下来。
使它大于在HColumnDescriptor中设置的默认hbase块大小,常日是64k。
默认为:131072hbase.regionserver.checksum.verify如果设置为true(默认),HBase将验证hfile块的校验和。
当HBase写出hfiles时,HBase将校验和写入数据。
HDFS(在此写入时)将校验和写入单独的文件,而不是须要额外查找的数据文件。
设置这个标志可以节省一些I/O。
设置此标志时,HDFS的校验和验证将在hfile流内部禁用。
如果hbase-checksum验证失落败,我们将切换回利用HDFS校验和(以是不要禁用HDFS校验!
除此功能外,还适用于hfiles,而不适用于WAL)。
如果这个参数设置为false,那么hbase将不会验证任何校验和,而是取决于HDFS客户端中的校验和验证。
默认为:truehbase.hstore.bytes.per.checksum新创建的校验和块中的字节数,用于hfile块中的HBase级校验和。
默认为:16384hbase.hstore.checksum.algorithm用于打算校验和的算法的名称。
可能的值是NULL,CRC32,CRC32C。
默认为:CRC32Chbase.client.scanner.max.result.size调用扫描器的下一个方法时返回的最大字节数。
请把稳,当单个行大于此限定时,行仍旧完备返回。
默认值是2MB,这对付1ge网络是有好处的。
有了更快和/或更高的延迟网络,这个值该当增加。
默认为:2097152hbase.server.scanner.max.result.size调用扫描器的下一个方法时返回的最大字节数。
请把稳,当单个行大于此限定时,行仍旧完备返回。
默认值是100MB。
这是保护做事器免受OOM情形的安全设置。
默认为:104857600hbase.status.published该设置激活了主控发布区域做事器的状态。
当一台区域做事器去世亡并开始规复时,主理事器会将这些信息推送到客户端运用程序,让他们立即割断连接,而不是等待超时。
默认为:falsehbase.status.publisher.class用multicast实现状态发布。
默认为:org.apache.hadoop.hbase.master.ClusterStatusPublisher$MulticastPublisherhbase.status.listener.class利用multicast实现状态监听器。
默认为:org.apache.hadoop.hbase.client.ClusterStatusListener$MulticastListenerhbase.status.multicast.address.ip用于multicase状态发布的multicase地址。
默认为:226.1.1.3hbase.status.multicast.address.port用于multicase状态发布的multicase端口。
默认为:16100hbase.dynamic.jars.dir自定义过滤器JAR的目录可以由区域做事器动态加载,而无需重新启动。
但是,已加载的过滤器/协处理器类将不会被卸载。
不适用于协处理器。
默认为:${hbase.rootdir}/libhbase.security.authentication掌握是否为HBase启用安全身份验证。
可能的值是“simple”(不认证)和“Kerberos”。
默认为:simplehbase.rest.filter.classes用于REST做事的Servlet过滤器。
默认为:org.apache.hadoop.hbase.rest.filter.GzipFilterhbase.master.loadbalancer.class用于在期间发生时实行区域平衡的类。
它将DefaultLoadBalancer更换为默认值(由于它被重命名为SimpleLoadBalancer )。
默认为:org.apache.hadoop.hbase.master.balancer.StochasticLoadBalancerhbase.master.loadbalance.bytable平衡器运行时的因子表名称。
默认:false。
默认为:falsehbase.master.normalizer.class用于实行期间发生时的区域标准化的类。
默认为:org.apache.hadoop.hbase.master.normalizer.SimpleRegionNormalizerhbase.rest.csrf.enabled设置为true以启用对跨站点要求forgery(CSRF)的保护。
默认为:falsehbase.rest-csrf.browser-useragents-regex通过将hbase.rest.csrf.enabled设置为true来启用为REST做事器,针对跨站点要求假造(CSRF)的防护时,用于匹配HTTP要求的User-Agent标头的正则表达式的逗号分隔列表。
如果传入的用户代理与这些正则表达式中的任何一个相匹配,则认为该要求被浏览器发送,因此CSRF预防被逼迫实行。
如果要求的用户代理与这些正则表达式中的任何一个都不匹配,则该要求被认为是由除浏览器以外的其他东西发送的,例如脚本自动化。
在这种情形下,CSRF不是一个潜在的攻击向量,以是预防没有被实行。
这有助于实现与尚未更新以发送CSRF预防报头的现有自动化的向后兼容性。
默认为:Mozilla.,Opera.hbase.security.exec.permission.checks如果启用此设置,并且基于ACL的访问掌握处于活动状态(AccessController协处理器作为系统协处理器安装,或作为表协处理器安装在表上),则必须付与所有干系用户EXEC权限(如果须要实行协处理器端点调用。
像任何其他权限一样,EXEC权限可以在全局范围内付与用户,也可以付与每个表或命名空间的用户。
有关协处理器端点的更多信息,请参阅HBase联机手册的协处理器部分。
有关利用AccessController付与或撤消权限的更多信息,请参阅HBase联机手册的安全性部分。
默认为:falsehbase.procedure.regionserver.classes在活动HRegionServer进程中默认加载的org.apache.hadoop.hbase.procedure.RegionServerProcedureManager过程管理器的逗号分隔列表。
生命周期方法(init / start / stop)将由活动的HRegionServer进程调用,以实行特定的全局barriered过程。
在实现你自己的RegionServerProcedureManager之后,把它放在HBase的类路径中,并在这里添加完备限定的类名称。
hbase.procedure.master.classes在活动HMaster进程中默认加载的org.apache.hadoop.hbase.procedure.MasterProcedureManager过程管理器的逗号分隔列表。
程序通过其署名进行标识,用户可以利用署名和即时名称来触发全局程序的实行。
在实现你自己的MasterProcedureManager之后,把它放在HBase的类路径中,并在这里添加完备限定的类名称。
hbase.coordinated.state.manager.class折衷状态管理员的完备合格的名字。
默认为:org.apache.hadoop.hbase.coordination.ZkCoordinatedStateManagerhbase.regionserver.storefile.refresh.period用于刷新赞助区域的存储文件的韶光段(以毫秒为单位)。
0意味着此功能被禁用。
赞助区域在次要区域刷新区域中的文件列表时会看到来自主要文件的新文件(来自刷新和压缩)(没有关照机制)。
但是频繁刷新可能会导致额外的Namenode压力。
如果文件的刷新韶光不能超过HFile TTL(hbase.master.hfilecleaner.ttl),要求将被谢绝。
此设置还建议将HFile TTL配置为较大的值。
默认为:0hbase.region.replica.replication.enabled是否启用对赞助区域副本的异步WAL复制。
如果启用了此功能,则会创建一个名为“region_replica_replication”的复制对等项,它将对日志进行尾随处理,并将突变复制到区域复制大于1的区域复制的区域复制。
如果启用一次,禁用此复制也须要禁用复制对等利用shell或Admin java类。
复制到赞助区域副本可以在标准群集间复制上事情。
默认为:falsehbase.http.filter.initializers一个以逗号分隔的类名列表。
列表中的每个类都必须扩展org.apache.hadoop.hbase.http.FilterInitializer。
相应的过滤器将被初始化。
然后,过滤器将运用于所有面向jsp和servlet网页的用户。
列表的排序定义了过滤器的排序。
默认的StaticUserWebFilter添加hbase.http.staticuser.user属性定义的用户主体。
默认为:org.apache.hadoop.hbase.http.lib.StaticUserWebFilterhbase.security.visibility.mutations.checkauths如果启用此属性,将检讨可见性表达式中的标签是否与发出突变的用户干系联默认为:falsehbase.http.max.threadsHTTP做事器将在其ThreadPool中创建的最大线程数。
默认为:16hbase.replication.rpc.codec启用复制时要利用的编解码器,以便标签也被复制。
这与支持标签的HFileV3一起利用。
如果标签未被利用或者所利用的hfile版本是HFileV2,则可以利用KeyValueCodec作为复制编解码器。
请把稳,在没有标签时利用KeyValueCodecWithTags进行复制不会造成任何侵害。
默认为:org.apache.hadoop.hbase.codec.KeyValueCodecWithTagshbase.replication.source.maxthreads任何复制源将用于并行传送编辑到吸收器的最大线程数。
这也限定了每个复制批次被分解成的块的数量。
较大的值可以提高主群集和从群集之间的复制吞吐量。
默认值为10,很少须要改变。
默认为:10hbase.serial.replication.waitingMs默认情形下,在复制中,我们不能确定slave集群中的操作顺序与master集群中的顺序相同。
如果将REPLICATION_SCOPE设置为2,我们将按照写入顺序进行编辑。
这个配置是设置不才一次检讨之前,我们将等待多永劫光(以毫秒为单位),如果日志不能被推送,由于有一些日志写在它之前还没有被推入。
较大的等待将减少hbase:meta上的查询数量,但会增加复制的延迟。
此功能依赖于zk-less分配,因此用户必须将hbase.assignment.usezk设置为false来支持它。
默认为:10000hbase.http.staticuser.user要在呈现内容时在静态网页过滤器上过滤的用户名称。
一个示例利用是HDFS Web UI(用于浏览文件的用户)。
默认为:dr.stackhbase.regionserver.handler.abort.on.error.percent区域做事器RPC线程的百分比无法中止RS。
-1表示禁用中止;0表示纵然单个处理程序已经去世亡也会中止;0.x表示只有当这个百分比的处理程序去世亡时才中止;1表示只中止所有的处理程序已经去世亡。
默认为:0.5hbase.mob.file.cache.size要缓存的已打开文件处理程序的数量。
更大的值将通过为每个移动文件缓存供应更多的文件处理程序来减少频繁的文件打开和关闭,从而有利于读取。
但是,如果设置得太高,则可能导致“打开的文件处理程序太多”。
默认值为1000。
默认为:1000hbase.mob.cache.evict.periodmob高速缓存驱逐高速缓存的mob文件之前的韶光(秒)。
默认值是3600秒。
默认为:3600hbase.mob.cache.evict.remain.ratio当缓存的移动文件数量超过hbase.mob.file.cache.size时,触发驱逐后保留的文件的比率(介于0.0和1.0之间)会被触发。
默认值是0.5f。
默认为:0.5fhbase.master.mob.ttl.cleaner.periodExpiredMobFileCleanerChore运行的韶光段。
该单位是秒。
默认值是一天。
MOB文件名仅利用文件创建韶光的日期部分。
我们利用这个韶光来决定文件的TTL到期韶光。
以是删除TTL过期的文件可能会被延迟。
最大延迟可能是24小时。
默认为:86400hbase.mob.compaction.mergeable.threshold如果一个mob文件的大小小于这个值,那么它被认为是一个小文件,须要在mob compaction中合并。
默认值是1280MB。
默认为:1342177280hbase.mob.delfile.max.countmob压缩中许可的最大del文件数。
在mob压缩中,当现有的del文件的数量大于这个值时,它们被合并,直到del文件的数量不大于该值。
默认值是3。
默认为:3hbase.mob.compaction.batch.size在一批mob压缩中所许可的mob文件的最大数量。
mob压缩合并小的mob文件到更大的。
如果小文件的数量非常大,则可能导致合并中的“打开的文件处理程序太多”。
合并必须分成批次。
此值限定在一批mob压缩中选择的mob文件的数量。
默认值是100。
默认为:100hbase.mob.compaction.chore.periodMobCompactionChore运行的韶光。
该单位是秒。
默认值是一个星期。
默认为:604800hbase.mob.compactor.class实行mob compactor,默认一个是PartitionedMobCompactor。
默认为:org.apache.hadoop.hbase.mob.compactions.PartitionedMobCompactorhbase.mob.compaction.threads.maxMobCompactor中利用的最大线程数。
默认为:1hbase.snapshot.master.timeout.millis主快照程序实行的超时。
默认为:300000hbase.snapshot.region.timeout区域做事器将线程保持在快照要求池中等待超时。
默认为:300000hbase.rpc.rows.warning.threshold批处理操作中的行数,超过该值将记录警告。
默认为:5000hbase.master.wait.on.service.seconds默认是5分钟。
做30秒的测试。
有关高下文,请拜会HBASE-19794。
默认为:30hbase-env.sh

hbase-env.sh文件用来设置HBase环境变量。
比如包括在启动HBase守护程序(如堆大小和垃圾回收器配置)时通报JVM的选项。
您还可以设置HBase配置、日志目录、niceness、ssh选项,定位进程pid文件的位置等的配置。
打开conf/hbase-env.sh文件并仔细阅读其内容。
每个选项都有相称好的记录。
如果希望在启动时由HBase守护进程读取,请在此处添加您自己的环境变量。

此处的变动将须要重启HBase才能把稳到变动。

log4j.properties

编辑此文件以变动HBase文件的滚动速率,并变动HBase记录的级别。

此处的变动将须要重新启动集群以把稳到变动,只管可以通过HBase UI为特定的守护程序变动日志级别。

客户端配置和依赖关系连接到HBase集群

如果您在独立模式下运行HBase,则不必为您的客户端配置任何内容,只要担保它们在同一台打算机上即可。

由于HBase Master可以移动,客户可以通过向ZooKeeper探求当前的关键位置来进行勾引。
ZooKeeper是保存所有这些值的地方。
因此客户须要ZooKeeper凑集的位置才能做其他事情。
常日这个凑集位置被保存在hbase-site.xml中,并由客户端从CLASSPATH中提取。

如果你正在配置一个IDE来运行一个HBase客户端,你该当在你的类路径中包含conf/目录,这样可以找到hbase-site.xml设置(或者添加src/test/resources来获取利用的hbase-site.xml文件通过测试)。

最小的情形是,当连接到集群时,HBase客户机须要依赖关系中的hbase-client模块:

一个基本的客户真个hbase-site.xml的利用示例可能如下所示:

Java客户端配置

Java客户端利用的配置保存在HBaseConfiguration实例中。

HBaseConfiguration的工厂方法,HBaseConfiguration.create();,在调用时会读取客户端上的第一个hbase-site.xml的内容(CLASSPATH如果存在的话)(调用也将包含在任何创造的hbase-default.xml中;hbase-default.xml在hbase.X.X.X.jar里面)。
也可以直接指定配置,而无需从hbase-site.xml中读取数据。
例如,要以编程办法设置集群的ZooKeeper集成,请实行以下操作:

如果多个ZooKeeper实例组成ZooKeeper凑集,则可以在逗号分隔列表中指定它们(就像在hbase-site.xml文件中一样)。
这个添补的Configuration实例然后可以通报给一个表,依此类推。