页面树结构

2017-11-09 ApacheCN 开源组织,第二期邀请成员活动,一起走的更远 : http://www.apachecn.org/member/209.html


MachineLearning 优酷地址 : http://i.youku.com/apachecn

转至元数据结尾
转至元数据起始

1、hbase-site.xml 和 hbase-default.xml 

正如在 Hadoop 中,你添加特定的 HDFS 配置到 hdfs-site.xml 文件中一样,对于 HBase 来说,特定的自定义配置加入到 conf/hbase-site.xml 文件中。对于配置的属性列表来说,请参阅下边的 hbase 默认配置 ,或者查看 HBase 源代码中的原始 hbase-default.xml 源文件,在 src/main/resources 中。

并不是所有的配置选项都在 hbase-site.xml 文件中列出。被认为极少的人才会修改的配置只会存在于代码中,打开这样的配置的唯一的途径就是通过源代码本身的读取。
目前,这里的变化需要一个集群重启来使 HBase 来注意到这些变化。

2、HBase 默认配置

下面的文档是使用默认的 HBase 配置文件 hbase-default.xml 文件作为源文件生成的。

hbase.tmp.dir 
描述:
在本地文件系统的一个临时目录,更改这项设置指向一个比 '/tmp' 目录更加持久的位置,通常的解决方式是使用 java.io.tmpdir ,因为这个 '/tmp' 目录下的内容在机器重启的时候会被清除。
默认

${java.io.tmpdir}/hbase-${user.name}


hbase.rootdir 
描述:
这个目录是 region server 的共享目录,并且用来持久化 HBase 。这个 URL 应该是“完全合格”的,并包括文件系统的 scheme 。例如,要指定 HDFS 的 '/hbase' 目录, HDFS 实例的 namenode 运行在 namenode.example.org 的 9000 节点上,设置这个值为: hdfs://namenode.example.org:9000/hbase 。默认情况下,我们使用 HBase 写数据通常是写入到 /tmp 目录下的,所以更改这项设置,否则机器重启的时候,所有的数据都将丢失。
默认:

${hbase.tmp.dir}/hbase

hbase.fs.tmp.dir 
描述
在默认文件系统 (HDFS)中保存临时数据的临时目录。
默认:

/user/${user.name}/hbase-staging


hbase.bulkload.staging.dir 
描述:
在默认文件系统(HDFS)中用于批量加载的临时目录。
默认

${hbase.fs.tmp.dir}


hbase.cluster.distributed

描述
集群将要运行的模式。可能的值是 false 代表独立模式, true 代表的是分布式。如果为 false ,启动将会一起运行所有的 HBase 和 ZooKeeper 实例在一个 JVM 中。
默认

false


hbase.zookeeper.quorum

描述
逗号分隔的全体 ZooKeeper 服务器列表(这项配置,应该被命名为 hbase.zookeeper.ensemble)。例如,"host1.mydomain.com,host2.mydomain.com,host3.mydomain.com" 。默认情况下,此项设置设置为 localhost 来操作本地和伪分布式模式。对于一个完全分布式设置,这项设置应该被设置为 ZooKeeper 集合的全体服务器的完整列表。如果 HBASE_MANAGES_ZK 在 hbase-env.sh 中被设置了,这是将会在它上面启动/停止 ZooKeeper 作为集群的一部分启动/停止的服务器列表。客户端,我们将集合成员列表,并与 hbase.zookeeper.clientPort 配置放在一起,并且将它传递到 zookeeper 构造器作为 connectString 参数。

默认

localhost


hbase.local.dir

描述
在本地文件系统中被用作本地存储的目录。
默认

${hbase.tmp.dir}/local/


hbase.master.port

描述
HBase Master 应该绑定的端口号。
默认

16000


hbase.master.info.port
描述
HBase Master web 界面端口,如果你不想运行一个界面实例,那么设置为 -1 。
默认

16010


hbase.master.info.bindAddress

描述
HBase Master web 界面的绑定地址
默认

0.0.0.0


hbase.master.logcleaner.plugins

描述
被 LogsCleaner 服务调用的 BaseLogCleanerDelegate 用逗号分隔的列表。这些 WAL cleaner 会按顺序调用,所以将处理处理数据多的 cleaner 放在前面执行。为了实现你自己的 BaseLogCleanerDelegate ,只要将它放到 HBase 的 classpath 并且添加完全限定类名。总是在列表中添加上面默认的 log cleaner 。
默认

org.apache.hadoop.hbase.master.cleaner.TimeToLiveLogCleaner


hbase.master.logcleaner.ttl
描述
在 .oldlogdir 文件夹中一个 WAL 能够存活的最长时间,过了这个时间它会被一个 Master 线程删除。
默认

600000


hbase.master.hfilecleaner.plugins
描述
由 HFileCleaner 服务调用的被逗号分隔的一个 BaseHFileCleanerDelegate 列表。这些 HFiles cleaners 会被按顺序调用,所以将处理数据多的 cleaner 放在前面。为了实现你自己的 BaseHFileCleanerDelegate ,只要将它写入 HBase 的 classpath 并且在这里加入类的全名。总是添加上面的默认的 log cleaners 到列表中,因为它们会在 hbase-site.xml 中被覆盖。
默认

org.apache.hadoop.hbase.master.cleaner.TimeToLiveHFileCleaner


hbase.master.infoserver.redirect

描述
Master 是否监听了 Master web UI 端口 (hbase.master.info.port),还有是不是重定向 requests 到 Master 和 RegionServer 分享的 web UI 服务器。
默认

true


hbase.regionserver.port
描述
HBase RegionServer 绑定的端口。
默认

16020


hbase.regionserver.info.port
描述
HBase RegionServer 的 web 界面端口,如果你不想要 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 Listener 实例数量。对于 Master 来说,这个属性是 master 受理的 handler 的数量。
默认

30


hbase.ipc.server.callqueue.handler.factor
描述
决定呼叫队列数目的 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/write 请求。一个 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 属性将拆分所读取的呼叫队列为(英文的官方文档此处有点小BUG,将 small-read 改为 short-read) short-read 和 long-read 队列。低于 0.5 的值意味着 long-read 队列将会少于 short-read 队列。值 0.5 意味着 short-read 队列和 long-read 队列是相同的数量。高于 0.5 的值意味着 long-read 队列将会多于 short-read 队列。值 0 或者 1 表示要使用同一组队列用于获取和扫描。例如,给定的读取呼叫队列的综述为 8 , scan.ratio 为 0 或者 1 意味着,8 个队列将包含长和短读取请求。一个 scan.ratio 值为 0.3 意味着 2 个队列将只包含 long-read 请求和 6 个队列将只包含 short-read 请求。一个 scan.ratio 值为 0.5 意味着 4 个队列将只包含 long-read 请求,和 4 个队列将只包含 short-read 请求。一个 scan.ratio 值为 0.8 意味着: 6 个队列将只包含 long-read 请求,和 2 个队列将只包含 short-read 请求。

默认

0

 

hbase.regionserver.msginterval

描述

消息从 RegionServer 传递到 Master 的时间间隔,以毫秒计数

默认

3000

 

hbase.regionserver.logroll.period

描述

在这期间,我们将滚动提交日志(commit log),无论它被编辑多少次。

默认

3600000

 

hbase.regionserver.logroll.errors.tolerated

描述

在触发服务器中止之前,我们将要允许的连续的 WAL 关闭错误的数目。设定为 0 将会导致如果关闭当前的 WAL 写入失败在日志滚动的过程中,这个 region 服务器将会被中止。即使是一个小的值(2 或者 3)都将会允许一个 region 服务器越过一个瞬时的 HDFS 错误。

默认

2

 

hbase.regionserver.hlog.reader.impl

描述

WAL 文件阅读器(file reader)实现。

默认

org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader

 

hbase.regionserver.hlog.writer.impl

描述

WAL 文件写入器(file writer)的实现。

默认

org.apache.hadoop.hbase.regionserver.wal.ProtobufLogWriter


hbase.regionserver.global.memstore.size

描述

在新的更新被封锁和强制刷新之前,在一个 region server 中的全部的 memstores 的最大的规模。默认是堆的 40%(0.4)。更新被封锁和刷新被强制进行直到一个 region server 的所有的 memstores 的规模达到 hbase.regionserver.global.memstore.size.lower.limit 。在这项配置中的默认值是特意留下空白的,是为了纪念较老的 hbase.regionserver.global.memstore.upperLimit property 如果这项配置存在的话。

默认

none

 

hbase.regionserver.global.memstore.size.lower.limit

描述

在被强制刷新之前,一个 region server 中的所有的 memstores 的最大的规模数目。默认为 hbase.regionserver.global.memstore.size 的 95%(0.95)。该值的 100% 的值会导致当由于 memstores 的限制而更新被封锁时,刷新发生的最小的可能。此项配置中的默认值是特意留为空白的,是为了纪念较老的 hbase.regionserver.global.memstores.lowerLimit 属性,如果这像那个属性存在的话。

默认

none


 

hbase.regionserver.optionalcacheflushinterval

描述

在被自动刷新之前,一次编辑在内存中存在的最长时间。默认是 1 个小时。将这项设置设置为 0 将会禁用自动刷新。

默认

3600000


hbase.regionserver.dns.interface

描述

一个 region server 应该报告自己的 IP 地址的网络接口的名字。

默认

default

 

hbase.regionserver.dns.nameserver 

描述

当使用 DNS 的时候,一个 region server 用来使用的 DNS 的域名或者 IP 地址, region server 用它来确定与 master 用来进行通讯和展示的域名。

默认

default

 

hbase.regionserver.region.split.policy

描述

当一个 region 应该被拆分的时候,决定如何拆分的拆分策略。其它各个现在可用的拆分策略是 BusyRegionSplitPolicy ,ConstantSizeRegionSplitPolicy ,DisabledRegionSplitPolicy ,DelimitedKeyPrefixRegionSplitPolicy ,和 KeyPrefixRegionSplitPolicy 。DisabledRegionSplitPolicy  块手工区域划分。

默认

org.apache.hadoop.hbase.regionserver.IncreasingToUpperBoundRegionSplitPolicy

 

hbase.regionserver.regionSplitLimit

描述

region 的数量的限制值,region 的数量到了这个值后就不会再继续被拆分了。这个不是 region 数量的硬性限制。但是起到了一定的指导性的作用,到达一个特定的限制之后就该停止拆分了。默认是 1000 。

默认

1000

 

zookeeper.session.timeout

描述

以毫秒为单位的 ZooKeeper 的会话超时。它被使用于两种不同的方式。第一,此值在 HBase 使用它去连接 ZK 客户端中使用。它也被 HBase 使用,当它启动一个 ZK 服务器并且它被作为 'maxSessionTimeout' 传递。详情查看 http://hadoop.apache.org/zookeeper/docs/current/zookeeperProgrammers.html#ch_zkSessions 。举个例子,如果一个 HBase region server 连接到一个也被 HBase 管理的 ZK 集群。则会话超时将是通过此项配置指定的那一个。但是,连接到一个不同的配置管理的集群的 region server 将受到该集群的 maxSessionTimeout 的影响。因此,尽管 HBase 的可能提议采用 90 秒,集群能有一个最大的但是低于这个值的超时,并且它会被优先考虑。当前的 ZK 附带的默认的为 40 秒,比 HBase 的低。

默认

90000


 

zookeeper.znode.parent

描述

ZooKeeper 中的 HBase 的根节点 ZNode 。HBase 的所有的配置了相对路径的 ZooKeeper 文件都将放在这个节点下。默认情况下, HBase 的所有的 ZooKeeper 文件路径都配置了一个相对路径,因此它们都将放到这个目录下,除非它们被改变了。

默认

/hbase

 

zookeeper.znode.acl.parent

描述

访问控制列表的根节点 ZNode 。(Root ZNode for access control lists)

默认

acl

 

hbase.zookeeper.dns.interface

描述

ZooKeeper 服务器应该报告它的 IP 地址的网络接口的名字。

默认

default

 

hbase.zookeeper.dns.nameserver

描述

当使用 DNS 的时候,一个 ZooKeeper 用来使用的 DNS 的域名或者 IP 地址, ZooKeeper 用它来确定与 master 用来进行通讯和展示的域名。

默认

default

 

hbase.zookeeper.peerport

描述

ZooKeeper peers 相互交流使用的端口。详情请看 http://hadoop.apache.org/zookeeper/docs/r3.1.1/zookeeperStarted.html#sc_RunningReplicatedZooKeeper 。

默认

2888

 

hbase.zookeeper.leaderport

描述

ZooKeeper 选举管理员(leader election)所使用的端口。详情查看 http://hadoop.apache.org/zookeeper/docs/r3.1.1/zookeeperStarted.html#sc_RunningReplicatedZooKeeper 。

默认

3888


hbase.zookeeper.property.initLimit

描述

ZooKeeper 的 zoo.cfg 配置中的属性。初始同步阶段可以采用的 ticks 数量限制。

默认

10


hbase.zookeeper.property.syncLimit

描述

ZooKeeper 的 zoo.cfg 配置中的属性。可以在发送一个请求和获得认可之间传递的 ticks 数量限制。

默认

5

 

hbase.zookeeper.property.dataDir

描述

从 ZooKeeper 的 zoo.cfg 配置中得到的属性。存储快照(snapshot)的目录。

默认

${hbase.tmp.dir}/zookeeper

 

hbase.zookeeper.property.clientPort

描述

从 ZooKeeper 的 zoo.cfg 配置中得到的属性。客户端将要连接的端口。

默认

2181


hbase.zookeeper.property.maxClientCnxns

描述

从 ZooKeeper 的 zoo.cfg 配置中得到的属性。限制由 IP 地址标识的单个客户端可能对 ZooKeeper 集合的单个成员创建的并发连接数(在 socket 级别(socket level))。设置为 高 (high)以避免运行独立(standalone)和伪分布式(pseudo-distributed)的 zk 连接问题。

默认

300


hbase.client.write.buffer

描述

HTable 客户端 写入缓冲区(write buffer)的默认大小(以字节为单位)。更大的缓冲区需要更多的内存——在客户端和服务器端,因为服务器实例化(instantiates) 传递的写入缓存区(the passed write buffer) 来处理它——但是更大的缓冲区大小减少了 RPC 的数量。对于服务器端内存使用的估计,请评估 hbase.client.write.buffer * hbase.regionserver.handler.count 

默认

2097152

 

hbase.client.pause

描述

常规客户端暂停值。在运行重试失败的 get(a retry of a failed get),区域查找(region lookup)等之前,主要用作等待的值。请参阅 hbase.client.retries.number 来了解我们如何从此初始暂停量中退出,以及此暂停如何工作 w/ retries 。

默认

100

 

hbase.client.pause.cqtbe

描述

是否对 CallQueueTooBigException(cqtbe) 使用特殊的客户端暂停(special client pause)。如果您观察到来自同一个 RegionServer 的频繁的 CQTBE 并且 call queue 保持充满,请将此属性设置为比 hbase.client.pause 更高的值。

默认

none

 

hbase.client.retries.number

描述

最大重试次数。用于所有可重试操作的最大值,例如获取单元格值,开始行更新等。重试间隔是基于 hbase.client.pause 的粗略函数。首先,我们在这个时间间隔重试,但是后退,我们很快就会达到每十秒钟重试。有关备份如何升级的信息,请参阅 HConstants#RETRY_BACKOFF 。更改此设置和 hbase.client.pause 以适应您的工作负载。

默认

35


hbase.client.max.total.tasks

描述

单个 HTable 实例将发送到集群的并发突变任务(concurrent mutation tasks)的最大数量。

默认

100

 

hbase.client.max.perserver.tasks

描述

单个 HTable 实例将向单个区域服务器发送的并发突发任务(concurrent mutation tasks)的最大数量。

默认

5

 

hbase.client.max.perregion.tasks

描述

客户端将维护到单个region 的并发突发任务的最大数量。也就是说,如果此 region 已经有 hbase.client.max.perregion.tasks 正在写入,则新的 puts 将不会发送到此 region ,直到某些写入完成。

默认

1

 

hbase.client.perserver.requests.threshold

描述

所有客户端进程(进程(process)级别)中一个服务器的并发等待请求(concurrent pending requests)的最大数量。超过请求将立即抛出 ServerTooBusyException 以防止用户的线程(threads)被一个缓慢 region 服务器占用阻止。如果使用固定数量的线程以同步方式访问 HBase, 请将此值设置为与线程数相关的合适的值,这将有助于您。有关详细信息,请参见 https://issues.apache.org/jira/browse/HBASE-16388

默认

2147483647

 

hbase.client.scanner.caching

描述

在扫描器(scanner)上调用 next 时,如果未从(本地,客户端)内存中提供,我们尝试获取的行数。此配置与 hbase.client.scanner.max.result.size 一起工作,以便有效地尝试和使用网络。缺省值为 Integer.MAX_VALUE ,以便网络将填充由 hbase.client.scanner.max.result.size 定义的块的大小( chunk size ) ,而不是由特定行数限制,因为行的大小将表更改为表(varies table to table)。如果提前知道扫描时不需要超过一定数量的行,则应通过 Scan#setCaching 将此配置设置为该行限制。更高的缓存值(Higher caching values)将使扫描器(scanner),但将耗费掉更多的内存和一些调用 next 可能需要更长的时间当缓存为空的时候。不要设置此值,以使调用(invocations)之间的时间大于扫描程序超时,即 hbase.client.scanner.timeout.period

默认

2147483647


hbase.client.keyvalue.maxsize

描述

指定 KeyValue 实例的组合最大允许大小。这是为保存在存储文件中的单个条目设置上边界。因为它们不能被拆分,所以有助于避免区域不能被进一步拆分,因为数据太大。将此设置为最大区域大小的一小部分是明智的。将其设置为零或者更小将禁用检查。

默认

 

10485760

 

hbase.client.scanner.timeout.period

描述

客户端扫描程序租用期(lease period)(以毫秒为单位)。

默认

60000

 

hbase.client.localityCheck.threadPoolSize

默认

2


hbase.bulkload.retries.number

描述

最大重试次数。这是在面对分割操作时试图进行原子批量加载(atomic bulk loads)的最大迭代次数 。0 意味着永远不会放弃。

默认

10

 

hbase.master.balancer.maxRitPercent

描述

平衡过渡(transition)中 region 的最大百分比。默认值为 1.0 。所以没有平衡器节流(balancer throttling)。如果将此配置设置为 0.01 ,则意味着在平衡过渡中最多有 1% 的 region (regions in transition when balancing)。然后在平衡时集群的可用性至少为 99% 。

默认

1.0


hbase.balancer.period

描述

region 平衡器(region balancer) 在主服务器(Master)中运行的时间段(period)。

默认

300000

 

hbase.normalizer.period

描述

region 规范器(region normalizer)在 Master 中运行的时间段(period)。

默认

1800000


 

 

  • 无标签