5. Hbase 配置文件详解(一)

1. hbase.tmp.dir

描述

本地文件系统上的临时目录。将此设置更改为指向比’/ tmp’更永久的位置,这是java.io.tmpdir的常用解决方案,因为’/ tmp’目录在机器重启时被清除。

默认

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

2. 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

3. hbase.cluster.distributed

描述

集群部署模式。独立模式的可能值为false,分布式模式的值为true。如果为false,则启动将在一个JVM中一起运行所有HBase和ZooKeeper守护程序。

默认

false

4. 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

5. zookeeper.recovery.retry.maxsleeptime

描述

在以毫秒为单位重试zookeeper操作之前的最长休眠时间,此处需要最长时间,以便睡眠时间不会无限增长。

默认

60000

6. hbase.local.dir

描述

本地文件系统上的目录,用作本地存储。

默认

${hbase.tmp.dir}/local/

7. hbase.master.port

描述

HBase Master应该绑定的端口。

默认

16000

8. hbase.master.info.port

描述

HBase Master Web UI的端口。如果您不想运行UI实例,请设置为-1。

默认

16010

9. hbase.master.info.bindAddress

描述

HBase Master Web UI的绑定地址。

默认

0.0.0.0

10. hbase.master.logcleaner.plugins

描述

由LogsCleaner服务调用的BaseLogCleanerDelegate的逗号分隔列表。这些WAL清理是按顺序调用的。要实现您自己的BaseLogCleanerDelegate,只需将其放入HBase的类路径中,并在此添加完全限定的类名。始终在列表中添加上面的默认日志清理工具。

默认

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

11. hbase.master.logcleaner.ttl

描述

WAL在归档({hbase.rootdir} / oldWALs)目录中保留多久,之后将由主线程清除。该值以毫秒为单位。

默认

600000

12. hbase.master.procedurewalcleaner.ttl

描述

程序WAL将在归档目录中保留多久,之后将由主线程清除。该值以毫秒为单位。

默认

604800000

13. hbase.master.hfilecleaner.plugins

描述

由HFileCleaner服务调用的BaseHFileCleanerDelegate的逗号分隔列表。这些HFile清理器按顺序调用。要实现您自己的BaseHFileCleanerDelegate,只需将其放入HBase的类路径中,并在此添加完全限定的类名。总是在列表中添加上面的默认日志清除程序,因为它们将被覆盖在hbase-site.xml中。

默认

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

14. hbase.master.infoserver.redirect

描述

Master是否侦听Master Web UI端口(hbase.master.info.port)并将请求重定向到Master和RegionServer共享的Web UI服务器。当Master对Regions(非默认)提供服务时配置才有意义。

默认

true

15. hbase.master.fileSplitTimeout

描述

Split Region 时文件拆分的超时时间。默认值:600000。此设置曾在hbase-1.x中称为hbase.regionserver.fileSplitTimeout。Split 现在运行master端,因此重命名为此。(如果找到’hbase.master.fileSplitTimeout’设置,将优先使用它作为当前’hbase.master.fileSplitTimeout’配置。

默认

600000

16. hbase.regionserver.port

描述

HBase RegionServer绑定的端口。

默认

16020

17. hbase.regionserver.info.port

描述

HBase RegionServer Web UI 的端口如果不希望RegionServer UI 运行,请设置为-1。

默认

16030

18. hbase.regionserver.info.bindAddress

描述

HBase RegionServer Web UI的地址

默认

0.0.0.0

19. hbase.regionserver.info.port.auto

描述

Master或RegionServer UI是否应搜索要绑定的端口。如果hbase.regionserver.info.port 已在使用中,则启用自动端口搜索。用于测试,默认情况下关闭。

默认

false

20. hbase.regionserver.handler.count

描述

在RegionServers上启动的RPC侦听器实例的数量。Master 使用相同的属性来设置主处理程序的数量。太多的处理程序可能适得其反。设置其为CPU数量的倍数。如果大多数需求是只读型的,那么将处理程序数设置为接近cpu计数效果明显。从CPU计数的两倍开始进行左右调整。

默认

30

21. hbase.ipc.server.callqueue.handler.factor

描述

确定呼叫队列数的因素。值0表示在所有处理程序之间共享的单个队列。值为1表示每个处理程序都有自己的队列。

默认

0.1

22. 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

23. 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

24. hbase.regionserver.msginterval

描述

消息从RegionServer到Master之间的间隔(以毫秒为单位)。

默认

3000

25. hbase.regionserver.logroll.period

描述

无论edits日志有多少,我们都将滚动提交日志的时间段。

默认

3600000

26. hbase.regionserver.logroll.errors.tolerated

描述

在触发服务器中止之前我们将允许的连续WAL关闭错误的数量。如果在日志滚动期间关闭当前WAL编写器失败,将此值设置为0将导致区域服务器中止。即使较小的值(2或3)region server 也将跃过 HDFS错误。

默认

2

27. hbase.regionserver.hlog.reader.impl

描述

WAL文件阅读器实现。

默认

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

28. hbase.regionserver.hlog.writer.impl

描述

WAL文件编写器实现。

默认

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

29. hbase.regionserver.global.memstore.size

描述

在新的更新被阻止并强制Flush之前,regionserver 中所有 memstore 的最大大小。默认为堆的40%(0.4)。直到regionserver 中所有memstore 的大小达到hbase.regionserver.global.memstore.size.lower.limit,更新将被阻止并强制Flush。此配置中的默认值特意设置为none,以便遵守旧的hbase.regionserver.global.memstore.upperLimit 属性(如果存在)。

默认

none

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

描述

强制刷新之前regionserver中所有memstore的最大大小。默认为hbase.regionserver.global.memstore.size(0.95)的95%。当由于memstore限制而阻止更新时,此值的100%值会导致最小可能的刷新。此配置中的默认值有意留空,以便遵守旧的hbase.regionserver.global.memstore.lowerLimit属性(如果存在)。

默认

none

    原文作者:步闲
    原文地址: https://www.jianshu.com/p/221f45b874ef
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞