7.默认配置
7.1。hbase-site.xml和hbase-default.xml
就像在Hadoop中为hdfs-site.xml文件添加特定于站点的HDFS配置一样,对于HBase,站点特定的自定义将进入文件conf / hbase-site.xml。有关可配置属性的列表,请参阅下面的hbase默认配置或查看src / main / resources中 HBase源代码中的原始hbase-default.xml源文件。
并非所有配置选项都适用于hbase-default.xml。某些配置只会出现在源代码中; 识别这些变化的唯一方法是通过代码审查。
目前,此处的更改将需要重新启动群集以使HBase注意到更改。
7.2。HBase默认配置
以下文档是使用默认的hbase配置文件hbase-default.xml作为源生成的。
hbase.tmp.dir
描述
本地文件系统上的临时目录。将此设置更改为指向比'/ tmp'更永久的位置,这是java.io.tmpdir的常用解决方案,因为'/ tmp'目录在机器重启时被清除。
默认
${java.io.tmpdir}/hbase-${user.name}
hbase.rootdir
描述
区域服务器共享的目录以及HBase持久存在的目录。URL应该是“完全限定的”以包含文件系统方案。例如,要在端口9000上的namenode.example.org上指定HDFS实例的namenode运行的HDFS目录“/ hbase”,请将此值设置为:hdfs://namenode.example.org:9000 / hbase。默认情况下,我们写入任何$ {hbase.tmp.dir}也设置 - 通常是/ tmp - 所以更改此配置,否则所有数据将在机器重启时丢失。
默认
${hbase.tmp.dir}/hbase
hbase.cluster.distributed
描述
群集将处于的模式。独立模式的可能值为false,分布式模式的值为true。如果为false,则启动将在一个JVM中一起运行所有HBase和ZooKeeper守护程序。
默认
false
hbase.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构造函数。
默认
localhost
zookeeper.recovery.retry.maxsleeptime
描述
在以毫秒为单位重试zookeeper操作之前的最长休眠时间,此处需要最长时间,以便睡眠时间不会无限增长
默认
60000
hbase.local.dir
描述
本地文件系统上的目录,用作本地存储。
默认
${hbase.tmp.dir}/local/
hbase.master.port
描述
HBase Master应绑定的端口。
默认
16000
hbase.master.info.port
描述
HBase Master Web UI的端口。如果您不想运行UI实例,请设置为-1。
默认
16010
hbase.master.info.bindAddress
描述
HBase Master Web UI的绑定地址
默认
0.0.0.0
hbase.master.logcleaner.plugins
描述
由LogsCleaner服务调用的以逗号分隔的BaseLogCleanerDelegate列表。这些WAL清洁器按顺序调用,所以把清洁器放在前面修剪最多的文件。要实现自己的BaseLogCleanerDelegate,只需将其放在HBase的类路径中,并在此处添加完全限定的类名。始终在列表中添加以上默认日志清理程序。
默认
org.apache.hadoop.hbase.master.cleaner.TimeToLiveLogCleaner,org.apache.hadoop.hbase.master.cleaner.TimeToLiveProcedureWALCleaner
hbase.master.logcleaner.ttl
描述
WAL保留在归档({hbase.rootdir} / oldWALs)目录中多长时间,之后将由主线程清理。该值以毫秒为单位。
默认
600000
hbase.master.procedurewalcleaner.ttl
描述
过程WAL将保留在归档目录中多长时间,之后将由主线程清除。该值以毫秒为单位。
默认
604800000
hbase.master.hfilecleaner.plugins
描述
由HFileCleaner服务调用的以逗号分隔的BaseHFileCleanerDelegate列表。这些HFiles清洁剂按顺序调用,因此将清洁剂放在前面修剪最多的文件。要实现自己的BaseHFileCleanerDelegate,只需将其放在HBase的类路径中,并在此处添加完全限定的类名。始终在列表中添加上述默认日志清理程序,因为它们将在hbase-site.xml中被覆盖。
默认
org.apache.hadoop.hbase.master.cleaner.TimeToLiveHFileCleaner
hbase.master.infoserver.redirect
描述
Master是否侦听Master Web UI端口(hbase.master.info.port)并将请求重定向到Master和RegionServer共享的Web UI服务器。配置。当Master服务区域时(而不是默认值),这是有意义的。
默认
true
hbase.master.fileSplitTimeout
描述
拆分区域,在中止尝试之前等待文件拆分步骤需要多长时间。默认值:600000。此设置曾在hbase-1.x中称为hbase.regionserver.fileSplitTimeout。Split现在运行master-side因此重命名(如果找到'hbase.master.fileSplitTimeout'设置,将使用它来填充当前'hbase.master.fileSplitTimeout'配置。
默认
600000
hbase.regionserver.port
描述
HBase RegionServer绑定的端口。
默认
16020
hbase.regionserver.info.port
描述
HBase RegionServer Web UI的端口如果不希望RegionServer UI运行,请设置为-1。
默认
16030
hbase.regionserver.info.bindAddress
描述
HBase RegionServer Web UI的地址
默认
0.0.0.0
hbase.regionserver.info.port.auto
描述
Master或RegionServer UI是否应搜索要绑定的端口。如果hbase.regionserver.info.port已在使用中,则启用自动端口搜索。用于测试,默认情况下关闭。
默认
false
hbase.regionserver.handler.count
描述
在RegionServers上旋转的RPC侦听器实例的数量。Master使用相同的属性来计算主处理程序的数量。太多的处理程序可能适得其反。使其成为CPU数量的倍数。如果大部分是只读的,那么处理程序数量接近cpu计数就好了。从CPU计数的两倍开始并从那里调整。
默认
30
hbase.ipc.server.callqueue.handler.factor
描述
用于确定呼叫队列数的因素。值0表示在所有处理程序之间共享的单个队列。值为1表示每个处理程序都有自己的队列。
默认
0.1
hbase.ipc.server.callqueue.read.ratio
描述
将呼叫队列拆分为读写队列。指定的间隔(应介于0.0和1.0之间)将乘以调用队列的数量。值0表示不拆分调用队列,这意味着读取和写入请求都将被推送到同一组队列。低于0.5的值意味着读取队列将少于写入队列。值为0.5表示将有相同数量的读写队列。大于0.5的值意味着将有比写入队列更多的读取队列。值1.0表示除了一个队列之外的所有队列都用于分派读取请求。示例:如果调用队列的总数为10,则read.ratio为0意味着:10个队列将包含两个读/写请求。read.ratio为0.3意味着:3个队列仅包含读取请求,7个队列仅包含写入请求。read.ratio为0.5意味着:5个队列仅包含读取请求,5个队列仅包含写入请求。read.ratio为0.8意味着:8个队列仅包含读取请求,2个队列仅包含写入请求。read.ratio为1表示:9个队列仅包含读取请求,1个队列仅包含写入请求。
默认
0
hbase.ipc.server.callqueue.scan.ratio
描述
给定读取呼叫队列的数量,根据呼叫队列的总数乘以callqueue.read.ratio计算,scan.ratio属性将读取呼叫队列分成小读取和长读取队列。低于0.5的值意味着长读取队列的数量将少于短读取队列。值0.5意味着将有相同数量的短读取和长读取队列。大于0.5的值意味着将有比长读取队列更多的长读取队列值0或1表示使用相同的队列集进行获取和扫描。示例:如果读取队列的总数为8,则scan.ratio为0或1意味着:8个队列将包含长读取请求和短读取请求。scan.ratio为0.3意味着:2个队列只包含长读请求,6个队列只包含短读请求。scan.ratio为0.5意味着:4个队列只包含长读请求,4个队列只包含短读请求。scan.ratio为0.8意味着:6个队列只包含长读请求,2个队列只包含短读请求。
默认
0
hbase.regionserver.msginterval
描述
从RegionServer到Master的消息之间的间隔(以毫秒为单位)。
默认
3000
hbase.regionserver.logroll.period
描述
无论编辑日志有多少,我们将滚动提交日志的时间段。
默认
3600000
hbase.regionserver.logroll.errors.tolerated
描述
在触发服务器中止之前我们将允许的连续WAL关闭错误的数量。如果在日志滚动期间关闭当前WAL编写器失败,则设置为0将导致区域服务器中止。即使很小的值(2或3)也允许区域服务器跨越瞬态HDFS错误。
默认
2
hbase.regionserver.hlog.reader.impl
描述
WAL文件阅读器实现。
默认
org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader
hbase.regionserver.hlog.writer.impl
描述
WAL文件编写器实现。
默认
org.apache.hadoop.hbase.regionserver.wal.ProtobufLogWriter
hbase.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%。当由于memstore限制而阻止更新时,此值的100%值会导致最小可能的刷新。此配置中的默认值有意留空,以便遵守旧的hbase.regionserver.global.memstore.lowerLimit属性(如果存在)。
默认
没有
hbase.systemtables.compacting.memstore.type
描述
确定要用于系统表(如META,命名空间表等)的memstore类型。默认情况下,NONE是类型,因此我们对所有系统表使用默认memstore。如果我们需要对系统表使用压缩memstore,则将此属性设置为BASIC / EAGER
默认
NONE
hbase.regionserver.optionalcacheflushinterval
描述
在自动刷新之前编辑在内存中的最长时间。默认1小时。将其设置为0可禁用自动刷新。
默认
3600000
hbase.regionserver.dns.interface
描述
区域服务器应从其报告其IP地址的网络接口的名称。
默认
default
hbase.regionserver.dns.nameserver
描述
域服务器(DNS)的主机名或IP地址,区域服务器应使用该地址来确定主服务器用于通信和显示目的的主机名。
默认
default
hbase.regionserver.region.split.policy
描述
拆分策略确定何时应拆分区域。当前可用的各种其他拆分策略包括BusyRegionSplitPolicy,ConstantSizeRegionSplitPolicy,DisabledRegionSplitPolicy,DelimitedKeyPrefixRegionSplitPolicy,KeyPrefixRegionSplitPolicy和SteppingSplitPolicy。DisabledRegionSplitPolicy阻止手动区域拆分。
默认
org.apache.hadoop.hbase.regionserver.SteppingSplitPolicy
hbase.regionserver.regionSplitLimit
描述
限制区域数量,之后不再发生区域分裂。这不是区域数量的硬限制,而是作为区域服务器在某个限制之后停止拆分的指导。默认设置为1000。
默认
1000
zookeeper.session.timeout
描述
ZooKeeper会话超时(以毫秒为单位)。它以两种不同的方式使用。首先,该值用于HBase用于连接集合的ZK客户端。HBase在启动ZK服务器时也会使用它,并将其作为'maxSessionTimeout'传递。请参阅https://zookeeper.apache.org/doc/current/zookeeperProgrammers.html#ch_zkSessions。例如,如果HBase区域服务器连接到也由HBase管理的ZK集合,则会话超时将是此配置指定的会话超时。但是,连接到使用不同配置管理的集合的区域服务器将受到该集合的maxSessionTimeout。因此,即使HBase可能建议使用90秒,整体可以具有低于此的最大超时,并且它将优先。ZK附带的当前默认值是40秒,低于HBase。
默认
90000
zookeeper.znode.parent
描述
ZooKeeper中HBase的Root ZNode。所有使用相对路径配置的HBase的ZooKeeper文件都将位于此节点下。默认情况下,所有HBase的ZooKeeper文件路径都配置了相对路径,因此除非更改,否则它们都将在此目录下。
默认
/hbase
zookeeper.znode.acl.parent
描述
用于访问控制列表的根ZNode。
默认
acl
hbase.zookeeper.dns.interface
描述
ZooKeeper服务器应从中报告其IP地址的网络接口的名称。
默认
default
hbase.zookeeper.dns.nameserver
描述
ZooKeeper服务器应使用的名称服务器(DNS)的主机名或IP地址,用于确定主服务器用于通信和显示目的的主机名。
默认
default
hbase.zookeeper.peerport
描述
ZooKeeper对等体使用的端口相互通信。有关更多信息,请参阅https://zookeeper.apache.org/doc/r3.4.10/zookeeperStarted.html#sc_RunningReplicatedZooKeeper。
默认
2888
hbase.zookeeper.leaderport
描述
ZooKeeper用于领导者选举的端口。有关更多信息,请参阅https://zookeeper.apache.org/doc/r3.4.10/zookeeperStarted.html#sc_RunningReplicatedZooKeeper。
默认
3888
hbase.zookeeper.property.initLimit
描述
来自ZooKeeper的配置zoo.cfg的属性。初始同步阶段可以采用的滴答数。
默认
10
hbase.zookeeper.property.syncLimit
描述
来自ZooKeeper的配置zoo.cfg的属性。在发送请求和获取确认之间可以传递的滴答数。
默认
5
hbase.zookeeper.property.dataDir
描述
来自ZooKeeper的配置zoo.cfg的属性。存储快照的目录。
默认
${hbase.tmp.dir}/zookeeper
hbase.zookeeper.property.clientPort
描述
来自ZooKeeper的配置zoo.cfg的属性。客户端将连接的端口。
默认
2181
hbase.zookeeper.property.maxClientCnxns
描述
来自ZooKeeper的配置zoo.cfg的属性。限制由IP地址标识的单个客户端可以对ZooKeeper集合的单个成员进行的并发连接数(在套接字级别)。设置为高以避免运行独立和伪分布的zk连接问题。
默认
300
hbase.client.write.buffer
描述
BufferedMutator写缓冲区的默认大小(以字节为单位)。更大的缓冲区需要更多的内存 - 在客户端和服务器端,因为服务器实例化传递的写入缓冲区来处理它 - 但更大的缓冲区大小减少了RPC的数量。有关使用的服务器端内存的估计,请评估hbase.client.write.buffer * hbase.regionserver.handler.count
默认
2097152
hbase.client.pause
描述
常规客户端暂停值。主要用作在运行重试失败的get,区域查找等之前等待的值。有关我们如何从此初始暂停量退回以及此暂停如何重试的说明,请参阅hbase.client.retries.number。
默认
100
hbase.client.pause.cqtbe
描述
是否为CallQueueTooBigException(cqtbe)使用特殊客户端暂停。将此属性设置为比hbase.client.pause更高的值,如果您从同一RegionServer观察频繁的CQTBE并且其中的调用队列保持满
默认
没有
hbase.client.retries.number
描述
最大重试次数。用作所有可重试操作的最大值,例如获取单元格的值,开始行更新等。重试间隔是基于hbase.client.pause的粗略函数。起初我们在这个间隔重试,但随后退回,我们很快就会每十秒重试一次。有关备份如何增加的信息,请参阅HConstants#RETRY_BACKOFF。更改此设置和hbase.client.pause以适合您的工作负载。
默认
15
hbase.client.max.total.tasks
描述
单个HTable实例将发送到群集的最大并发突变任务数。
默认
100
hbase.client.max.perserver.tasks
描述
单个HTable实例将发送到单个区域服务器的最大并发突变任务数。
默认
2
hbase.client.max.perregion.tasks
描述
客户端将维护到单个Region的最大并发变异任务数。也就是说,如果已经有hbase.client.max.perregion.tasks正在为此区域写入正在进行的操作,则在某些写入完成之前,不会将新的put发送到此区域。
默认
1
hbase.client.perserver.requests.threshold
描述
所有客户端线程中一台服务器的最大并发挂起请求数(进程级别)。超过请求将立即抛出ServerTooBusyException,以防止用户的线程仅被一个慢速区域服务器占用和阻止。如果使用固定数量的线程以同步方式访问HBase,请将此值设置为与线程数相关的合适值,这将对您有所帮助。有关详细信息,请参阅https://issues.apache.org/jira/browse/HBASE-16388。
默认
2147483647
hbase.client.scanner.caching
描述
如果未从(本地,客户端)内存提供服务器,则在扫描器上调用next时尝试获取的行数。此配置与hbase.client.scanner.max.result.size一起使用,以有效地尝试使用网络。默认值默认值为Integer.MAX_VALUE,因此网络将填充由hbase.client.scanner.max.result.size定义的块大小,而不是受特定行数限制,因为行的大小因表而异。如果您提前知道扫描不需要超过一定数量的行,则应通过Scan#setCaching将此配置设置为该行限制。较高的缓存值将使扫描程序更快,但会占用更多内存,而当缓存为空时,下一次调用可能会花费更长时间。请勿将此值设置为调用之间的时间大于扫描程序超时; 即hbase.client.scanner.timeout.period
默认
2147483647
hbase.client.keyvalue.maxsize
描述
指定KeyValue实例的组合最大允许大小。这是为存储在存储文件中的单个条目设置上限。由于它们不能被拆分,因此有助于避免因为数据太大而无法进一步拆分区域。将其设置为最大区域大小的一小部分似乎是明智的。将其设置为零或更小会禁用检查。
默认
10485760
hbase.server.keyvalue.maxsize
描述
单个单元格的最大允许大小,包括值和所有关键组件。值0或更小会禁用检查。默认值为10MB。这是一个安全设置,用于保护服务器免受OOM情况的影响。
默认
10485760
hbase.client.scanner.timeout.period
描述
客户端扫描程序租期(以毫秒为单位)。
默认
60000
hbase.client.localityCheck.threadPoolSize
默认
2
hbase.bulkload.retries.number
描述
最大重试次数。这是在分割操作时尝试原子批量加载的最大迭代次数0意味着永不放弃。
默认
10
hbase.master.balancer.maxRitPercent
描述
平衡时转换区域的最大百分比。默认值为1.0。所以没有平衡器限制。如果将此配置设置为0.01,则表示平衡时转换中最多有1%的区域。然后,在平衡时,群集的可用性至少为99%。
默认
1.0
hbase.balancer.period
描述
区域平衡器在主站中运行的时间段。
默认
300000
hbase.normalizer.period
描述
区域规范化程序在主服务器中运行的时间段。
默认
300000
hbase.normalizer.min.region.count
描述
配置最小区域数
默认
3
hbase.regions.slop
描述
如果任何regionserver具有平均+(平均* slop)区域,则重新平衡。StochasticLoadBalancer(默认负载均衡器)中此参数的默认值为0.001,而其他负载均衡器(即SimpleLoadBalancer)的默认值为0.2。
默认
0.001
hbase.server.thread.wakefrequency
描述
在搜索工作之间睡觉的时间(以毫秒为单位)。用作服务线程(如日志滚轮)作为睡眠间隔。
默认
10000
hbase.server.versionfile.writeattempts
描述
在中止之前重试尝试编写版本文件的次数。每次尝试都以hbase.server.thread.wakefrequency毫秒分隔。
默认
3
hbase.hregion.memstore.flush.size
描述
如果memstore的大小超过此字节数,则Memstore将刷新到磁盘。值由每个hbase.server.thread.wakefrequency运行的线程检查。
默认
134217728
hbase.hregion.percolumnfamilyflush.size.lower.bound.min
描述
如果使用FlushLargeStoresPolicy并且有多个列族,那么每次我们达到总memstore限制时,我们都会找到其memstores超过“下限”的所有列系列,并且只清除它们,同时将其他列保留在内存中。默认情况下,“下限”将为“hbase.hregion.memstore.flush.size / column_family_number”,除非此属性的值大于该值。如果没有一个系列的memstore大小超过下限,则所有的memstores都将被刷新(就像平常一样)。
默认
16777216
hbase.hregion.preclose.flush.size
描述
如果我们关闭时区域中的存储库大小或更大,请在我们设置区域关闭标志并使该区域脱机之前运行“预刷新”以清除存储库。关闭时,在关闭标志下运行刷新以清空内存。在此期间,该地区处于离线状态,我们不会进行任何写入。如果memstore内容很大,则此刷新可能需要很长时间才能完成。preflush是为了在放置关闭标志并使该区域脱机之前清除大部分memstore,因此在关闭标志下运行的刷新几乎没有。
默认
5242880
hbase.hregion.memstore.block.multiplier
描述
如果memstore的hbase.hregion.memstore.block.multiplier乘以hbase.hregion.memstore.flush.size字节,则阻止更新。有用的防止在更新流量高峰期间失控的memstore。没有上限,memstore会填充,当它刷新生成的flush文件需要很长时间来压缩或拆分,或者更糟的是,我们OOME。
默认
4
hbase.hregion.memstore.mslab.enabled
描述
启用MemStore-Local Allocation Buffer,这是一种可以防止在大量写入负载下堆碎片的功能。这可以减少在大堆上停止世界GC暂停的频率。
默认
true
hbase.hregion.max.filesize
描述
最大HFile尺寸。如果区域的HFiles的大小总和已经增长到超过该值,则该区域被分成两部分。
默认
10737418240
hbase.hregion.majorcompaction
描述
主要压缩之间的时间,以毫秒表示。设置为0可禁用基于时间的自动主要压缩。用户请求的和基于大小的主要压缩仍将运行。此值乘以hbase.hregion.majorcompaction.jitter,以使压缩在给定的时间窗口内以稍微随机的时间开始。默认值为7天,以毫秒为单位。如果主要压缩导致环境中断,您可以将它们配置为在部署的非高峰时间运行,或者通过将此参数设置为0来禁用基于时间的主要压缩,并在cron作业或其他作业中运行主要压缩外部机制。
默认
604800000
hbase.hregion.majorcompaction.jitter
描述
应用于hbase.hregion.majorcompaction的乘数,以使压缩在hbase.hregion.majorcompaction的任一侧发生给定的时间量。数字越小,压缩将越接近hbase.hregion.majorcompaction间隔。
默认
0.50
hbase.hstore.compactionThreshold
描述
如果任何一个Store中存在超过此数量的StoreFiles(每次刷新MemStore时写入一个StoreFile),则运行压缩以将所有StoreFile重写为单个StoreFile。较大的值会延迟压缩,但是当压缩确实发生时,完成需要更长的时间。
默认
3
hbase.regionserver.compaction.enabled
描述
通过设置true / false启用/禁用压缩。我们可以使用compaction_switch shell命令进一步动态切换压缩。
默认
true
hbase.hstore.flusher.count
描述
刷新线程的数量。使用较少的线程,MemStore刷新将排队。使用更多线程时,刷新将并行执行,增加了HDFS的负载,并可能导致更多压缩。
默认
2
hbase.hstore.blockingStoreFiles
描述
如果任何一个Store中存在超过此数量的StoreFiles(每次刷新MemStore时会写入一个StoreFile),则会阻止此区域的更新,直到压缩完成,或者直到超出hbase.hstore.blockingWaitTime。
默认
16
hbase.hstore.blockingWaitTime
描述
在达到hbase.hstore.blockingStoreFiles定义的StoreFile限制后,区域将阻止更新的时间。经过这段时间后,即使压缩尚未完成,该区域也将停止阻止更新。
默认
90000
hbase.hstore.compaction.min
描述
在压缩之前必须符合压缩条件的最小StoreFiles数量才能运行。调整hbase.hstore.compaction.min的目的是避免使用太多的小型StoreFiles来压缩。将此值设置为2会在每次在Store中存在两个StoreFiles时导致轻微压缩,这可能不合适。如果将此值设置得太高,则需要相应调整所有其他值。对于大多数情况,默认值是合适的。在以前的HBase版本中,参数hbase.hstore.compaction.min名为hbase.hstore.compactionThreshold。
默认
3
hbase.hstore.compaction.max
描述
无论符合条件的StoreFiles的数量,将为单个次要压缩选择的StoreFiles的最大数量。实际上,hbase.hstore.compaction.max的值控制单个压缩完成所需的时间长度。将其设置得更大意味着更多StoreFiles包含在压缩中。对于大多数情况,默认值是合适的。
默认
10
hbase.hstore.compaction.min.size
描述
小于此大小的StoreFile(或选择的StoreFiles,当使用ExploringCompactionPolicy时)将始终符合轻微压缩的条件。大小或更大的HFile由hbase.hstore.compaction.ratio评估,以确定它们是否符合条件。由于此限制表示小于此值的所有StoreFiles的“自动包含”限制,因此在写入1-2 MB范围内的许多StoreFile的写入繁重环境中可能需要减少此值,因为每个StoreFile都将成为目标压缩和生成的StoreFiles可能仍然在最小尺寸,需要进一步压缩。如果降低此参数,则会更快地触发比率检查。这解决了早期版本的HBase中出现的一些问题,但在大多数情况下不再需要更改此参数。
默认
134217728
hbase.hstore.compaction.max.size
描述
将使用大于此大小的StoreFile(或一组StoreFiles,当使用ExploringCompactionPolicy时)从压缩中排除。提高hbase.hstore.compaction.max.size的效果是更少,更大的StoreFiles不经常压缩。如果您觉得压缩过于频繁而没有太多好处,您可以尝试提高此值。默认值:LONG.MAX_VALUE的值,以字节为单位表示。
默认
9223372036854775807
hbase.hstore.compaction.ratio
描述
对于次要压缩,此比率用于确定大于hbase.hstore.compaction.min.size的给定StoreFile是否有资格进行压缩。它的作用是限制大型StoreFiles的压缩。hbase.hstore.compaction.ratio的值表示为浮点小数。较大的比例(例如10)将生成单个巨型StoreFile。相反,较低的值(例如.25)将产生类似于BigTable压缩算法的行为,从而产生四个StoreFiles。建议使用介于1.0和1.4之间的中等值。调整此值时,您将平衡写入成本与读取成本。提高值(类似于1.4)会产生更多的写入成本,因为您将压缩更大的StoreFiles。但是,在读取过程中,HBase需要通过更少的StoreFiles来完成读取。如果您无法利用Bloom过滤器,请考虑这种方法。否则,您可以将此值降低到1.0以降低写入的后台成本,并使用Bloom过滤器来控制读取期间触摸的StoreFiles的数量。对于大多数情况,默认值是合适的。
默认
1.2F
hbase.hstore.compaction.ratio.offpeak
描述
允许您设置不同的(默认情况下,更具侵略性)比率,以确定在非高峰时段是否将更大的StoreFiles包含在压缩中。与hbase.hstore.compaction.ratio一样工作。仅在启用hbase.offpeak.start.hour和hbase.offpeak.end.hour时适用。
默认
5.0F
hbase.hstore.time.to.purge.deletes
描述
使用将来的时间戳延迟清除删除标记的时间。如果未设置或设置为0,则在下一次主要压缩期间将清除所有删除标记(包括具有未来时间戳的标记)。否则,将保留删除标记,直到标记的时间戳加上此设置的值之后发生的主要压缩为止,以毫秒为单位。
默认
0
hbase.offpeak.start.hour
描述
非高峰时段的开始,表示为0到23之间的整数,包括0和23。设置为-1可禁用非高峰。
默认
-1
hbase.offpeak.end.hour
描述
非高峰时段结束,表示为0到23之间的整数,包括0和23。设置为-1可禁用非高峰。
默认
-1
hbase.regionserver.thread.compaction.throttle
描述
压缩有两种不同的线程池,一种用于大型压缩,另一种用于小型压缩。这有助于快速压缩精益表(例如hbase:meta)。如果压缩大于此阈值,则会进入大型压缩池。在大多数情况下,默认值是合适的。默认值:2 x hbase.hstore.compaction.max x hbase.hregion.memstore.flush.size(默认为128MB)。值字段假定hbase.hregion.memstore.flush.size的值与默认值不变。
默认
2684354560
hbase.regionserver.majorcompaction.pagecache.drop
描述
指定是否通过主要压缩将读取/写入页面的页面放入系统页面缓存中。将其设置为true有助于防止主要压缩污染页面缓存,这几乎总是需要的,特别是对于具有低/中等内存存储比率的群集。
默认
true
hbase.regionserver.minorcompaction.pagecache.drop
描述
指定是否通过次要压缩将读取/写入的页面删除到系统页面缓存中。将其设置为true有助于防止轻微压缩污染页面缓存,这对于内存存储比率较低或群集较多的群集最有利。当大量读取位于最近写入的数据上时,您可能希望在中等到低写入工作负载下将其设置为false。
默认
true
hbase.hstore.compaction.kv.max
描述
刷新或压缩时批量读取和写入的最大KeyValues数。如果您有大的KeyValues并且内存不足异常的问题,请将此值设置为较低如果您有宽的小行,请将此值设置得更高。
默认
10
hbase.storescanner.parallel.seek.enable
描述
在StoreScanner中启用StoreFileScanner并行搜索功能,该功能可以减少特殊条件下的响应延迟。
默认
false
hbase.storescanner.parallel.seek.threads
描述
启用并行搜索功能时的默认线程池大小。
默认
10
hfile.block.cache.policy
描述
L1块缓存(LRU或TinyLFU)的驱逐策略。
默认
LRU
hfile.block.cache.size
描述
要分配给StoreFile使用的块缓存的最大堆(-Xmx设置)的百分比。默认值为0.4意味着分配40%。设置为0表示禁用但不建议使用; 你需要至少足够的缓存来保存storefile索引。
默认
0.4
hfile.block.index.cacheonwrite
描述
这允许在写入索引时将非根多级索引块放入块高速缓存中。
默认
false
hfile.index.block.max.size
描述
当多级块索引中的叶级,中级或根级索引块的大小增长到此大小时,将写出该块并启动新块。
默认
131072
hbase.bucketcache.ioengine
描述
存储bucketcache内容的位置。其中之一:offheap,file,files,mmap或pmem。如果是一个或多个文件,请将其设置为文件:PATH_TO_FILE。mmap表示内容将位于mmaped文件中。使用mmap:PATH_TO_FILE。'pmem'是持久性存储设备上的文件的桶缓存。使用pmem:PATH_TO_FILE。有关更多信息,请参见http://hbase.apache.org/book.html#offheap.blockcache。
默认
没有
hbase.bucketcache.size
描述
一个浮点数,即EITHER表示要提供给缓存的总堆内存大小的百分比(如果<1.0)OR,它是BucketCache的总容量(以兆字节为单位)。默认值:0.0
默认
没有
hbase.bucketcache.bucket.sizes
描述
用于bucketcache的桶的大小的逗号分隔列表。可以是多种尺寸。按从小到大的顺序列出块大小。您使用的大小取决于您的数据访问模式。必须是256的倍数,否则当你从缓存中读取时,你会遇到'java.io.IOException:无效的HFile块魔术'。如果您在此处未指定任何值,则可以选择代码中设置的默认bucketsize(请参阅BucketAllocator#DEFAULT_BUCKET_SIZES)。
默认
没有
hfile.format.version
描述
用于新文件的HFile格式版本。版本3增加了对hfiles中标签的支持(参见http://hbase.apache.org/book.html#hbase.tags)。另请参阅配置'hbase.replication.rpc.codec'。
默认
3
hfile.block.bloom.cacheonwrite
描述
为复合布隆过滤器的内联块启用写入高速缓存。
默认
false
io.storefile.bloom.block.size
描述
复合布隆过滤器的单个块(“块”)的大小(以字节为单位)。此大小是近似值,因为Bloom块只能插入数据块边界,并且每个数据块的键数会有所不同。
默认
131072
hbase.rs.cacheblocksonwrite
描述
块完成时是否应将HFile块添加到块缓存中。
默认
false
hbase.rpc.timeout
描述
这是为RPC层定义HBase客户端应用程序用于远程调用超时的时间(毫秒)。它使用ping来检查连接,但最终会抛出TimeoutException。
默认
60000
hbase.client.operation.timeout
描述
操作超时是一个顶级限制(毫秒),可确保表中的阻塞操作不会被阻止超过此限制。在每个操作中,如果rpc请求因超时或其他原因而失败,它将重试直到成功或抛出RetriesExhaustedException。但是如果阻塞的总时间在重试耗尽之前达到操作超时,它将提前中断并抛出SocketTimeoutException。
默认
1200000
hbase.cells.scanned.per.heartbeat.check
描述
心跳检查之间扫描的细胞数量。在扫描处理期间发生心跳检查,以确定服务器是否应该停止扫描以便将心跳消息发送回客户端。心跳消息用于在长时间运行的扫描期间保持客户端 - 服务器连接处于活动状态。较小的值意味着心跳检查将更频繁地发生,因此将对扫描的执行时间提供更严格的约束。较大的值意味着心跳检查的发生频率较低
默认
10000
hbase.rpc.shortoperation.timeout
描述
这是“hbase.rpc.timeout”的另一个版本。对于群集内的RPC操作,我们依靠此配置为短操作设置短暂超时限制。例如,区域服务器尝试向活动主服务器报告的短rpc超时可以使更快的主故障转移过程受益。
默认
10000
hbase.ipc.client.tcpnodelay
描述
在rpc套接字连接上设置没有延迟。请参阅http://docs.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html#getTcpNoDelay()
默认
true
hbase.regionserver.hostname
描述
此配置适用于专家:除非您确实知道自己在做什么,否则不要设置其值。设置为非空值时,这表示基础服务器的(面向外部)主机名。有关详细信息,请参阅https://issues.apache.org/jira/browse/HBASE-12954。
默认
没有
hbase.regionserver.hostname.disable.master.reversedns
描述
此配置适用于专家:除非您确实知道自己在做什么,否则不要设置其值。设置为true时,regionserver将使用当前节点主机名作为servername,HMaster将跳过反向DNS查找并使用regionserver发送的主机名。请注意,此config和hbase.regionserver.hostname是互斥的。有关详细信息,请参阅https://issues.apache.org/jira/browse/HBASE-18226。
默认
false
hbase.master.keytab.file
描述
kerberos keytab文件的完整路径,用于登录配置的HMaster服务器主体。
默认
没有
hbase.master.kerberos.principal
描述
防爆。“hbase/_HOST@EXAMPLE.COM”。应该用于运行HMaster进程的kerberos主体名称。主体名称应采用以下形式:user / hostname @ DOMAIN。如果“_HOST”用作主机名部分,则它将替换为正在运行的实例的实际主机名。
默认
没有
hbase.regionserver.keytab.file
描述
用于登录已配置的HRegionServer服务器主体的kerberos keytab文件的完整路径。
默认
没有
hbase.regionserver.kerberos.principal
描述
防爆。“hbase/_HOST@EXAMPLE.COM”。应该用于运行HRegionServer进程的kerberos主体名称。主体名称应采用以下形式:user / hostname @ DOMAIN。如果“_HOST”用作主机名部分,则它将替换为正在运行的实例的实际主机名。此主体的条目必须存在于hbase.regionserver.keytab.file中指定的文件中
默认
没有
hadoop.policy.file
描述
RPC服务器用于对客户端请求进行授权决策的策略配置文件。仅在启用HBase安全性时使用。
默认
hbase-policy.xml
hbase.superuser
描述
用户或组的列表(逗号分隔),在群集中允许的完全权限(无论存储的ACL如何)。仅在启用HBase安全性时使用。
默认
没有
hbase.auth.key.update.interval
描述
服务器中身份验证令牌的主密钥的更新间隔,以毫秒为单位。仅在启用HBase安全性时使用。
默认
86400000
hbase.auth.token.max.lifetime
描述
身份验证令牌到期后的最长生命周期(以毫秒为单位)。仅在启用HBase安全性时使用。
默认
604800000
hbase.ipc.client.fallback-to-simple-auth-allowed
描述
当客户端配置为尝试安全连接但尝试连接到不安全的服务器时,该服务器可能会指示客户端切换到SASL SIMPLE(不安全)身份验证。此设置控制客户端是否接受来自服务器的此指令。如果为false(默认值),则客户端将不允许回退到SIMPLE身份验证,并将中止连接。
默认
false
hbase.ipc.server.fallback-to-simple-auth-allowed
描述
当服务器配置为需要安全连接时,它将拒绝使用SASL SIMPLE(不安全)身份验证的客户端连接尝试。此设置允许安全服务器在客户端请求时接受来自客户端的SASL SIMPLE连接。如果为false(默认值),则服务器将不允许回退到SIMPLE身份验证,并拒绝连接。警告:此设置仅应用作将客户端转换为安全身份验证时的临时措施。它必须禁用以确保安全操作。
默认
false
hbase.display.keys
描述
当此设置为true时,webUI等将显示所有开始/结束键作为表详细信息,区域名称等的一部分。当此设置为false时,键将被隐藏。
默认
true
hbase.coprocessor.enabled
描述
启用或禁用协处理器加载。如果为“false”(禁用),则将忽略任何其他与协处理器相关的配置。
默认
true
hbase.coprocessor.user.enabled
描述
启用或禁用用户(也称为表)协处理器加载。如果为“false”(禁用),则将忽略表描述符中的任何表协处理器属性。如果“hbase.coprocessor.enabled”为“false”,则此设置无效。
默认
true
hbase.coprocessor.region.classes
描述
以逗号分隔的区域观察器或端点协处理器列表,默认情况下在所有表上加载。对于任何覆盖协处理器方法,将按顺序调用这些类。实现自己的协处理器后,将其添加到HBase的类路径中,并在此处添加完全限定的类名。也可以通过设置HTableDescriptor或HBase shell按需加载协处理器。
默认
没有
hbase.coprocessor.master.classes
描述
以逗号分隔的org.apache.hadoop.hbase.coprocessor.MasterObserver协处理器列表,默认情况下在活动的HMaster进程上加载。对于任何实现的协处理器方法,将按顺序调用列出的类。在实现自己的MasterObserver之后,只需将其放在HBase的类路径中,并在此处添加完全限定的类名。
默认
没有
hbase.coprocessor.abortonerror
描述
如果协处理器无法加载,无法初始化或抛出意外的Throwable对象,则设置为true以使托管服务器(主服务器或区域服务器)中止。将此设置为false将允许服务器继续执行,但有问题的协处理器的系统范围状态将变得不一致,因为它将仅在一部分服务器中正确执行,因此这对于仅用于调试最有用。
默认
true
hbase.rest.port
描述
HBase REST服务器的端口。
默认
8080
hbase.rest.readonly
描述
定义REST服务器将启动的模式。可能的值为:false:允许所有HTTP方法 - GET / PUT / POST / DELETE。true:仅允许GET方法。
默认
false
hbase.rest.threads.max
描述
REST服务器线程池的最大线程数。池中的线程将重用于处理REST请求。这可以控制并发处理的最大请求数。控制REST服务器使用的内存以避免OOM问题可能会有所帮助。如果线程池已满,则传入的请求将排队等待一些空闲线程。
默认
100
hbase.rest.threads.min
描述
REST服务器线程池的最小线程数。线程池始终至少具有这些线程数,因此REST服务器已准备好为传入请求提供服务。
默认
2
hbase.rest.support.proxyuser
描述
允许运行REST服务器以支持代理用户模式。
默认
false
hbase.defaults.for.version.skip
描述
设置为true可跳过'hbase.defaults.for.version'检查。将此设置为true在除了maven生成的另一侧之外的上下文中可能是有用的; 即在IDE中运行。您需要将此布尔值设置为true以避免看到RuntimeException投诉:“hbase-default.xml文件似乎是旧版本的HBase(\ $ {hbase.version}),此版本为XXX-SNAPSHOT”
默认
false
hbase.table.lock.enable
描述
设置为true以启用在zookeeper中锁定表以进行模式更改操作。从master锁定表可防止并发架构修改损坏表状态。
默认
true
hbase.table.max.rowsize
描述
在没有设置行内扫描标志的情况下,Get'ting或Scan'ning的最大单行大小(以字节为单位)(默认为1 Gb)。如果行大小超过此限制,则会向客户端抛出RowTooBigException。
默认
1073741824
hbase.thrift.minWorkerThreads
描述
线程池的“核心大小”。在创建这么多线程之前,会在每个连接上创建新线程。
默认
16
hbase.thrift.maxWorkerThreads
描述
线程池的最大大小。当挂起的请求队列溢出时,将创建新线程,直到它们的数量达到此数字。之后,服务器开始丢弃连接。
默认
1000
hbase.thrift.maxQueuedRequests
描述
队列中等待的最大挂起Thrift连接数。如果池中没有空闲线程,则服务器将请求排队。只有当队列溢出时,才会添加新线程,直到hbase.thrift.maxQueuedRequests线程。
默认
1000
hbase.regionserver.thrift.framed
描述
在服务器端使用Thrift TFramedTransport。这是thrift服务器的推荐传输,并且在客户端需要类似的设置。将此更改为false将选择默认传输,当由于THRIFT-601发出格式错误的请求时,该传输易受DoS攻击。
默认
false
hbase.regionserver.thrift.framed.max_frame_size_in_mb
描述
使用框架传输时的默认帧大小,以MB为单位
默认
2
hbase.regionserver.thrift.compact
描述
使用Thrift TCompactProtocol二进制序列化协议。
默认
false
hbase.rootdir.perms
描述
FS安全(kerberos)设置中的根数据子目录的FS权限。当master启动时,它会使用此权限创建rootdir,或者如果不匹配则设置权限。
默认
700
hbase.wal.dir.perms
描述
FS安全(kerberos)设置中的根WAL目录的FS权限。当master启动时,它会使用此权限创建WAL目录,或者如果不匹配则设置权限。
默认
700
hbase.data.umask.enable
描述
如果为true,则启用应将文件权限分配给regionserver写入的文件
默认
false
hbase.data.umask
描述
当hbase.data.umask.enable为true时,应该用于写入数据文件的文件权限
默认
000
hbase.snapshot.enabled
描述
设置为true以允许拍摄/恢复/克隆快照。
默认
true
hbase.snapshot.restore.take.failsafe.snapshot
描述
设置为true以在还原操作之前拍摄快照。所拍摄的快照将在发生故障时使用,以恢复之前的状态。在还原操作结束时,将删除此快照
默认
true
hbase.snapshot.restore.failsafe.name
描述
还原操作获取的故障安全快照的名称。您可以使用{snapshot.name},{table.name}和{restore.timestamp}变量根据要还原的内容创建名称。
默认
hbase-failsafe-{snapshot.name}-{restore.timestamp}
hbase.snapshot.working.dir
描述
快照过程将发生的位置。已完成快照的位置不会更改,但发生快照过程的临时目录将设置为此位置。这可以是与根目录不同的文件系统,以提高性能。有关更多信息,请参阅HBASE-21098
默认
没有
hbase.server.compactchecker.interval.multiplier
描述
确定我们扫描频率以确定是否需要压缩的数字。通常,压缩是在某些事件(例如memstore flush)之后完成的,但如果某个时间区域没有收到大量写入,或者由于不同的压缩策略,则可能需要定期检查它。检查之间的间隔是hbase.server.compactchecker.interval.multiplier乘以hbase.server.thread.wakefrequency。
默认
1000
hbase.lease.recovery.timeout
描述
在放弃之前我们等待dfs租赁恢复的时间有多长。
默认
900000
hbase.lease.recovery.dfs.timeout
描述
dfs恢复租约调用之间的时间。应该大于namenode发出块恢复命令作为datanode的一部分所花费的时间之和; dfs.heartbeat.interval和主数据节点所需的时间,在死数据节点上执行块恢复超时; 通常为dfs.client.socket-timeout。有关更多信息,请参见HBASE-8389的结尾。
默认
64000
hbase.column.max.version
描述
新列族描述符将使用此值作为要保留的默认版本数。
默认
1
dfs.client.read.shortcircuit
描述
如果设置为true,则此配置参数启用短路本地读取。
默认
false
dfs.domain.socket.path
描述
如果dfs.client.read.shortcircuit设置为true,则这是UNIX域套接字的路径,该套接字将用于DataNode与本地HDFS客户端之间的通信。如果此路径中存在字符串“_PORT”,则它将被DataNode的TCP端口替换。注意托管共享域套接字的目录的权限; 如果对HBase用户以外的其他用户开放,dfsclient会抱怨。
默认
none
hbase.dfs.client.read.shortcircuit.buffer.size
描述
如果未设置DFSClient配置dfs.client.read.shortcircuit.buffer.size,我们将使用此处配置的短路读取默认直接字节缓冲区大小。DFSClient本机默认值为1MB; HBase保持其HDFS文件处于打开状态,因此,由于直接内存不足,文件块* 1MB的数量很快就会开始增加并威胁到OOME。所以,我们从默认设置下来。设为> HColumnDescriptor中设置的默认hbase块大小,通常为64k。
默认
131072
hbase.regionserver.checksum.verify
描述
如果设置为true(缺省值),HBase将验证hfile块的校验和。HBase在写出hfiles时将校验和与数据内联写入。HDFS(在撰写本文时)将校验和写入一个单独的文件,而不是数据文件,需要额外的搜索。设置此标志可以在i / o上保存一些。当设置此标志时,将在hfile流内部禁用HDFS的校验和验证。如果hbase-checksum验证失败,我们将切换回使用HDFS校验和(因此不要禁用HDFS校验和!此外,此功能仅适用于hfiles,而不适用于WALs)。如果此参数设置为false,则hbase将不验证任何校验和,而是依赖于在HDFS客户端中进行的校验和验证。
默认
true
hbase.hstore.bytes.per.checksum
描述
hfile块中HBase级校验和的新创建的校验和块中的字节数。
默认
16384
hbase.hstore.checksum.algorithm
描述
用于计算校验和的算法的名称。可能的值为NULL,CRC32,CRC32C。
默认
CRC32C
hbase.client.scanner.max.result.size
描述
调用扫描程序的下一个方法时返回的最大字节数。请注意,当单行大于此限制时,仍会完全返回该行。默认值为2MB,适用于1ge网络。对于更快和/或高延迟的网络,应该增加该值。
默认
2097152
hbase.server.scanner.max.result.size
描述
调用扫描程序的下一个方法时返回的最大字节数。请注意,当单行大于此限制时,仍会完全返回该行。默认值为100MB。这是一个安全设置,用于保护服务器免受OOM情况的影响。
默认
104857600
hbase.status.published
描述
此设置激活主服务器发布区域服务器的状态。当区域服务器死亡并且其恢复开始时,主服务器会将此信息推送到客户端应用程序,让他们立即切断连接而不是等待超时。
默认
false
hbase.status.publisher.class
描述
使用多播消息实现状态发布。
默认
org.apache.hadoop.hbase.master.ClusterStatusPublisher$MulticastPublisher
hbase.status.listener.class
描述
使用多播消息实现状态监听器。
默认
org.apache.hadoop.hbase.client.ClusterStatusListener$MulticastListener
hbase.status.multicast.address.ip
描述
用于通过多播进行状态发布的多播地址。
默认
226.1.1.3
hbase.status.multicast.address.port
描述
用于通过多播进行状态发布的多播端口。
默认
16100
hbase.dynamic.jars.dir
描述
可以由区域服务器动态加载自定义筛选器JAR的目录,而无需重新启动。但是,已加载的过滤器/协处理器类不会被卸载。有关详细信息,请参阅HBASE-1936。不适用于协处理器。
默认
${hbase.rootdir}/lib
hbase.security.authentication
描述
控制是否为HBase启用安全身份验证。可能的值是“简单”(无身份验证)和“kerberos”。
默认
simple
hbase.rest.filter.classes
描述
用于REST服务的Servlet过滤器。
默认
org.apache.hadoop.hbase.rest.filter.GzipFilter
hbase.master.loadbalancer.class
描述
用于在周期发生时执行区域平衡的类。有关其工作原理的更多信息,请参阅类注释http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.html它将DefaultLoadBalancer替换为默认值(因为重命名为SimpleLoadBalancer) )。
默认
org.apache.hadoop.hbase.master.balancer.StochasticLoadBalancer
hbase.master.loadbalance.bytable
描述
平衡器运行时的因子表名称。默认值:false。
默认
false
hbase.master.normalizer.class
描述
用于在周期发生时执行区域标准化的类。有关其工作原理的更多信息,请参阅课堂评论http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.html
默认
org.apache.hadoop.hbase.master.normalizer.SimpleRegionNormalizer
hbase.rest.csrf.enabled
描述
设置为true以启用针对跨站点请求伪造(CSRF)的保护
默认
false
hbase.rest-csrf.browser-useragents-regex
描述
用于通过将hbase.rest.csrf.enabled设置为true为REST服务器启用针对跨站点请求伪造(CSRF)的保护来匹配HTTP请求的User-Agent标头的正则表达式的逗号分隔列表。如果传入的User-Agent与这些正则表达式中的任何一个匹配,则认为该请求由浏览器发送,因此强制执行CSRF预防。如果请求的User-Agent与这些正则表达式中的任何一个都不匹配,则认为该请求是由浏览器之外的其他内容发送的,例如脚本化自动化。在这种情况下,CSRF不是潜在的攻击媒介,因此不会强制执行。这有助于实现与尚未更新以发送CSRF预防标头的现有自动化的向后兼容性。
默认
Mozilla.,Opera.
hbase.security.exec.permission.checks
描述
如果启用此设置并且基于ACL的访问控制处于活动状态(AccessController协处理器作为系统协处理器安装或作为表协处理器安装在表上),则必须授予所有相关用户EXEC权限(如果它们需要执行协处理器端点的能力)调用。与任何其他权限一样,EXEC权限可以全局授予用户,也可以基于每个表或每个命名空间授予用户。有关协处理器端点的更多信息,请参阅HBase在线手册的协处理器部分。有关使用AccessController授予或撤消权限的更多信息,请参阅HBase在线手册的安全性部分。
默认
false
hbase.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过程管理器列表。过程由其签名标识,用户可以使用签名和即时名称来触发全局barriered过程的执行。在实现自己的MasterProcedureManager之后,只需将其放在HBase的类路径中,并在此处添加完全限定的类名。
默认
没有
hbase.coordinated.state.manager.class
描述
实现协调状态管理器的类的完全限定名称。
默认
org.apache.hadoop.hbase.coordination.ZkCoordinatedStateManager
hbase.regionserver.storefile.refresh.period
描述
刷新辅助区域的商店文件的时间段(以毫秒为单位)。0表示禁用此功能。一旦辅助区域刷新区域中的文件列表(没有通知机制),辅助区域将从主要文件中看到新文件(来自刷新和压缩)。但过于频繁的刷新可能会导致额外的Namenode压力。如果文件的刷新时间超过HFile TTL(hbase.master.hfilecleaner.ttl),请求将被拒绝。此设置也建议将HFile TTL配置为更大的值。
默认
0
hbase.region.replica.replication.enabled
描述
是否启用异步WAL复制到辅助区域副本。如果启用此选项,将创建名为“region_replica_replication”的复制对等体,该复制对等体将拖尾日志并将突变复制到区域复制为具有区域复制> 1的表。如果启用此复制,则禁用此复制还需要禁用复制peer使用shell或Admin java类。复制到辅助区域副本的工作原理是标准的群集间复制。
默认
false
hbase.http.filter.initializers
描述
逗号分隔的类名列表。列表中的每个类都必须扩展org.apache.hadoop.hbase.http.FilterInitializer。将初始化相应的过滤器。然后,Filter将应用于所有面向用户的jsp和servlet Web页面。列表的顺序定义了过滤器的顺序。默认的StaticUserWebFilter添加hbase.http.staticuser.user属性定义的用户主体。
默认
org.apache.hadoop.hbase.http.lib.StaticUserWebFilter
hbase.security.visibility.mutations.checkauths
描述
如果启用此属性,将检查可见性表达式中的标签是否与发出突变的用户相关联
默认
false
hbase.http.max.threads
描述
HTTP Server将在其ThreadPool中创建的最大线程数。
默认
16
hbase.replication.rpc.codec
描述
启用复制时要使用的编解码器,以便还复制标记。这与HFileV3一起使用,HFileV3支持其中的标签。如果未使用标记或者使用的hfile版本是HFileV2,则可以将KeyValueCodec用作复制编解码器。请注意,如果没有标记,使用KeyValueCodecWithTags进行复制不会造成任何损害。
默认
org.apache.hadoop.hbase.codec.KeyValueCodecWithTags
hbase.replication.source.maxthreads
描述
任何复制源用于将编辑并行传输到接收器的最大线程数。这也限制了每个复制批次被分解的块数。较大的值可以提高主群集和从群集之间的复制吞吐量。很少需要更改默认值10。
默认
10
hbase.http.staticuser.user
描述
要在呈现内容时在静态Web过滤器上过滤的用户名。示例用途是HDFS Web UI(用于浏览文件的用户)。
默认
dr.stack
hbase.regionserver.handler.abort.on.error.percent
描述
区域服务器RPC线程的百分比无法中止RS。-1禁止中止; 0即使一个处理程序已经死亡也会中止; 0.x只有当这个百分比的处理者死亡时才中止; 1中止只有所有的人都死了。
默认
0.5
hbase.mob.file.cache.size
描述
要缓存的已打开文件处理程序数。较大的值将通过为每个mob文件缓存提供更多文件处理程序而有益于读取,并且将减少频繁的文件打开和关闭。但是,如果设置得太高,则可能导致“打开的文件处理程序太多”默认值为1000。
默认
1000
hbase.mob.cache.evict.period
描述
暴虫缓存驱逐缓存的mob文件之前的时间量(以秒为单位)。默认值为3600秒。
默认
3600
hbase.mob.cache.evict.remain.ratio
描述
当缓存的mob文件数超过hbase.mob.file.cache.size时,触发驱逐后缓存的文件的比例(介于0.0和1.0之间)。默认值为0.5f。
默认
0.5f
hbase.master.mob.ttl.cleaner.period
描述
ExpiredMobFileCleanerChore运行的时间段。该单位是第二。默认值为一天。MOB文件名仅使用文件创建时间的日期部分。我们用这个时间来决定文件的TTL到期时间。因此,删除TTL过期文件可能会延迟。最大延迟可能是24小时。
默认
86400
hbase.mob.compaction.mergeable.threshold
描述
如果一个mob文件的大小小于这个值,它被认为是一个小文件,需要在mob compaction中合并。默认值为1280MB。
默认
1342177280
hbase.mob.delfile.max.count
描述
mob压缩中允许的最大del文件数。在mob compaction中,当现有del文件的数量大于此值时,它们将合并,直到del文件的数量不大于此值。默认值为3。
默认
3
hbase.mob.compaction.batch.size
描述
一批暴徒压缩中允许的最大mob文件数。mob compaction将小型mob文件合并到较大的mob文件中。如果小文件的数量非常大,则可能导致合并中的“打开的文件处理程序太多”。合并必须分成批次。此值限制在一批mob compaction中选择的mob文件的数量。默认值为100。
默认
100
hbase.mob.compaction.chore.period
描述
MobCompactionChore运行的时间段。该单位是第二。默认值为一周。
默认
604800
hbase.mob.compactor.class
描述
执行mob compactor,默认一个是PartitionedMobCompactor。
默认
org.apache.hadoop.hbase.mob.compactions.PartitionedMobCompactor
hbase.mob.compaction.threads.max
描述
MobCompactor中使用的最大线程数。
默认
1
hbase.snapshot.master.timeout.millis
描述
master用于快照过程执行的超时。
默认
300000
hbase.snapshot.region.timeout
描述
区域服务器超时以使快照请求池中的线程保持等待。
默认
300000
hbase.rpc.rows.warning.threshold
描述
批处理操作中将记录警告的行数。
默认
5000
hbase.master.wait.on.service.seconds
描述
默认为5分钟。测试时间为30秒。有关上下文,请参阅HBASE-19794。
默认
30
7.3。hbase-env.sh
在此文件中设置HBase环境变量。示例包括在HBase守护程序启动时传递JVM的选项,例如堆大小和垃圾收集器配置。您还可以设置HBase配置,日志目录,niceness,ssh选项,查找进程pid文件的位置等的配置。在conf / hbase-env.sh中打开文件并仔细阅读其内容。每个选项都有相当详细的记录。如果您希望在启动时通过HBase守护程序读取它们,请在此处添加您自己的环境变量。
此处的更改将需要群集重新启动以使HBase注意到更改。
7.4。log4j.properties
编辑此文件以更改HBase文件的滚动速率,并更改HBase记录邮件的级别。
此处的更改将要求HBase重新启动群集以注意更改,但可以通过HBase UI更改特定守护程序的日志级别。
7.5。连接到HBase集群的客户端配置和依赖项
如果您在独立模式下运行HBase,则无需为客户端配置任何工作,只要它们都在同一台计算机上。
由于HBase Master可以移动,客户端通过向ZooKeeper查找当前关键位置来引导。ZooKeeper是保存所有这些值的地方。因此,客户端需要ZooKeeper集合的位置才能执行任何其他操作。通常这个集合位置保留在hbase-site.xml中,并由客户端从中获取CLASSPATH
。
如果要配置IDE以运行HBase客户端,则应在类路径中包含conf /目录,以便找到hbase-site.xml设置(或添加src / test / resources以获取使用的hbase-site.xml)通过测试)。
对于使用Maven的Java应用程序,在连接到集群时,建议使用hbase-shaded-client模块:
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-shaded-client</artifactId>
<version>2.0.0</version>
</dependency>
仅客户端的基本示例hbase-site.xml可能如下所示:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>hbase.zookeeper.quorum</name> <value>example1,example2,example3</value> <description>The directory shared by region servers. </description> </property> </configuration>
7.5.1。Java客户端配置
Java客户端使用的配置保存在HBaseConfiguration实例中。
HBaseConfiguration.create();
在调用时,HBaseConfiguration 上的工厂方法将读取客户端上找到的第一个hbase-site.xml的内容(CLASSPATH
如果存在)(调用也会考虑找到的任何hbase-default.xml ; hbase-default .xml在hbase.XXXjar中发布。也可以直接指定配置,而无需从hbase-site.xml读取。例如,要以编程方式为集群设置ZooKeeper集合,请执行以下操作:
Configuration config = HBaseConfiguration.create(); config.set("hbase.zookeeper.quorum", "localhost"); // Here we are running zookeeper locally
如果多个ZooKeeper实例组成了ZooKeeper集合,则可以在逗号分隔列表中指定它们(就像在hbase-site.xml文件中一样)。Configuration
然后可以将此填充的实例传递给表,依此类推。
7.6。超时设置
HBase提供各种超时设置,以限制各种远程操作的执行时间。
-
hbase.rpc.timeout
-
hbase.rpc.read.timeout
-
hbase.rpc.write.timeout
-
hbase.client.operation.timeout
-
hbase.client.meta.operation.timeout
-
hbase.client.scanner.timeout.period
该hbase.rpc.timeout
属性限制单个RPC调用在超时之前可以运行多长时间。微调读取或写入相关的RPC超时集hbase.rpc.read.timeout
和hbase.rpc.write.timeout
配置属性。如果没有这些属性hbase.rpc.timeout
将被使用。
更高级别的超时hbase.client.operation.timeout
对每个客户端调用都有效。当RPC调用因超时而失败时,hbase.rpc.timeout
将会重试,直到hbase.client.operation.timeout
达到。可以通过设置hbase.client.meta.operation.timeout
配置值来微调系统表的客户端操作超时。如果未设置此值,则将使用其值hbase.client.operation.timeout
。
扫描操作的超时受到不同的控制。使用hbase.client.scanner.timeout.period
属性设置此超时。