HBase数据库配置中各配置项的释义及默认值
2018-11-26 16:09
2018-12-20 15:44
摘自HBASE官方网站 http://hbase.apache.org/book.html#_introduction 第7.2节。 【2018年11月】
| 名称 |
猜猜看 | 默认值 |
| hbase.tmp.dir | 用于指定一个目录地址。简单理解成HBASE存数据的目录,默认情况下datanode, namenode, zookeeper运行产生的数据都会存在这个目录内。 | ubuntu下默认是 /tmp/hbase-${user.name} 目录。例如:/tmp/hbase-ubuntu/ |
| hbase.rootdir | 用于指定一个目录地址。这个目录地址简单理解成就是HBase存储数据的地方。对于完全分布式模式下的HBase来说是HDFS NameNode运行的主机地址。如果是单机模式下的HBASE,直接写成file:///类型的地址即可。若是需要搭建基于HADOOP分布式存储系统之上的HBASE,则需要填写完整的URL名称。例如: hdfs://your_namenode_server:9000/your_hbase_name 。这个配置的值最好不要使用默认值。因为默认值是保存在Linux的 /tmp 目录下的。/tmp 目录在每次开机的时候会被系统清空。 | ${hbase.tmp.dir}/hbase 。一般Linux下是 /tmp/hbase 目录。 |
| hbase.cluster.distributed | 用于配置一个标志位值,true / false 。 用于表示该HBASE是否要被配置成分布式模式。 如果在非分布式模式下,HBASE和ZooKeeper会在同一个JVM上运行。 | false |
| hbase.zookeeper.quorum | 用于配置一组网络地址或域名。这个配置项可以简单理解成配置的是datanode的服务器地址。如果你的HBASE集群有多个region server(完全分布式模式下的HBASE),则必须要把每台region server的地址写进这里去(要和ZooKeeper中配置的完全一致),多个region server的地址以英文逗号隔开。 例:<value>masterhost,slavehost1,slavehost2</value> 这条属性的含义建议去官网看看原文,受本人知识水平限制,我这边理解的可能不够全面。 | localhost |
| zookeeper.recovery.retry.maxsleeptime | 用于设置一个整型数字值。 用于设置在重试zooKeeper的某些操作时的最大等待时间,似乎是出于某些原因zooKeeper的某些操作失败了,在一段时间以后zooKeeper会有重试该操作的机制,并且这个重试等待时间并不是恒定的,而是随着失败的次数逐渐增长的。HBASE为了防止这个时间无限制地增长,就设置了这个最大等待时间。即zooKeeper操作重试等待时间最长不超过这个项设置的时间。其单位是毫秒。 | 60000(ms) |
| hbase.local.dir | 用于指定一个目录地址。一个用来存储本地数据的目录。 | ${hbase.tmp.dir}/local/ 默认情况下是: /tmp/local/ |
| hbase.master.port | 用于设置一个整型数字值。该值表示HBASE Master绑定的网络端口号。这个端口是用于HMaster进行RPC通信的。 | 16000 |
| hbase.master.info.port | 用于设置一个整型数字值。该值表示HBASE Master的网页版要绑定的网络端口号。如果你不想开启网页管理功能,将它设置成-1即可。 | 16010 |
| hbase.master.info.bindAddress | 用于设置一个网络地址。该网络地址表示HBASE Master的网页要绑定的地址。一般而言,没有必要去更改这项配置。如果你的机器有多个网卡,需要指定仅绑定某一个网卡的地址,就可以配置一下,不然,直接用默认的就好了。如果有必要,可以去了解一下0.0.0.0和127.0.0.1的区别。对了,这项一定要填写你的机器上的地址,不然会导致网页页面打不开的。 | 0.0.0.0 |
| hbase.master.logcleaner.plugins | 用于设置一个或一组。。代码类名称吧。 这项属性貌似是用来指定日志清除插件程序的。似乎是为了避免日志随时间的积累而越来越臃肿,就有了这个“条件型日志清除器”。如果自己实现了自己的日志清除程序,就在这里配置上。有需要的老铁可以去官网看看原文,我这边也不是很清楚它的作用。 |
org.apache.hadoop.hbase.master.cleaner.TimeToLiveLogCleaner,org.apache.hadoop.hbase.master.cleaner.TimeToLiveProcedureWALCleaner |
| hbase.master.logcleaner.ttl | 用于设置一个整型数字值。表示WAL数据的保存时限(保存于${hbase.rootdir}/oldWALs,在HADOOP网页版的文件管理系统中可以看到。),在超过设置时长后,数据就会被Master线程清理掉。其单位是毫秒。 | 600000(ms) |
| hbase.master.procedurewalcleaner.ttl | 用于设置一个整型数字值。似乎是表示WAL步骤允许存在的时限。超过设置的时间上限后,就会被Master线程清理掉。其单位是毫秒。 | 604800000(ms) --> a week. |
| hbase.master.hfilecleaner.plugins | 用于设置一个或一组程序吧。与 hbase.master.logcleaner.plugins 类似。这个貌似是HFiles清理器。有需要的可以去研究一下官网原文。 | org.apache.hadoop.hbase.master.cleaner.TimeToLiveHFileCleaner |
| hbase.master.infoserver.redirect | 用于配置一个布尔型值。控制Master主机是否监听Master主机上的网页端口并将来自该端口的请求共享给集群上的所有主机。 | true |
| hbase.master.fileSplitTimeout | 用于配置一个整型数字值。表示在给region服务器做文件分割操作时的最大等待时间,超过这一时间设定后若分割仍未完成,则会放弃分割操作。这条属性是HBASE1.x版本上的 'hbase.regionserver.fileSpliTimeout'属性,出于该分割操作目前是在Master主机侧完成的,因此将这条属性改名成 'hbase.master.fileSplitTimeout'。如果在HBASE系统上同时设定了这两条属性,则以 'hbase.master.fileSplitTimeout' 属性为准。 | 600000(ms) |
| hbase.regionserver.port | 用于配置一个整型数字值。用于开放给Region主机绑定的网络端口号。这个端口是用来给HRegionServer进行RPC通信的。 | 16020 |
| hbase.regionserver.info.port | 配置一个整型数字值。用于开放给region主机的网页的端口号。将该值设定成-1可以关闭region主机网页管理功能。 | 16030 |
| hbase.regionserver.info.bindAddress | 配置一个网络地址。region主机网页管理页面的网址。 | 0.0.0.0 |
| hbase.regionserver.info.port.auto | 配置一个布尔型值。用于配置Master或Region主机的网页页面在'hbase.regionserver.info.port'中配置的端口被其它程序占用的情况下自动搜寻可用端口来绑定。 | false |
| hbase.regionserver.handler.count | 配置一个整型数字值。表示在Region主机上运行的RPC实例的数量,这个属性配置的值同样被应用于Master主机上handler的数量。这个数值的设定可能会影响到HBASE的性能,建议有需要的老铁去官网阅读一下原文。 | 30 |
| hbase.ipc.server.callqueue.handler.factor | 配置一个数字值。这个值感觉是一个比例值(或者说百分比),是一个介于0~1之间的值。表示handler与调用队列(call queue)之间的资源分配关系吧。如果设定为0,则HBASE系统中所有的handler共用一个调用队列,如果设定为1,则每一个handler都有它自己的调用队列。 | 0.1 |
| hbase.ipc.server.callqueue.read.ratio | 配置一个数字值。与上一条类似。它配置的是方法调用队列(call queue)中读请求的数量在整个调用队列中的比例。这条属性的值介于0~1之间。如果配置成0,表示不对调用队列call queue作读、写请求分组操作,所有调用队列对于读、写来说是共享的,哪个队列会被用于哪种请求完全随缘。如果配置成0.x的形式,则就会有0.x比例的调用队列被分配给读请求专用。如果配置成1,表示读请求只会被分配到恒1个调用队列,其余的全被分配给写请求专用。 | 0.0 |
| hbase.ipc.server.callqueue.scan.ratio | 配置一个数字值。用于将读请求专用调用队列(read call queue)按这条属性配置的比例值来分配成短时读取(small-read)调用队列和长期读取(long-read)调用队列。其实我也不太理解这个短读取队列和长读取队列到底是什么意思。我猜,应该是短时读取在读取完毕后会被释放资源吧。这条属性的值如果被配置成0或者1,则短读取和长读取的比例在读专用队列中是随缘分配的。设置成0.x则是按比例分配的。 如果有需要的老铁,建议去阅读一下官网原文,毕竟我对这条属性的含义也不是很理解。 | 0 |
| hbase.regionserver.msginterval | 配置一个整型数字值。Region主机与Master主机通信的时间间隔。 | 3000(ms) |
| hbase.regionserver.logroll.period | 配置一个整型数字值。 这条不太懂。似乎是提交日志滚动覆盖的周期。 | 3600000 |
| hbase.regionserver.logroll.errors.tolerated | 配置一个整型数字值。 这条也不太懂。似乎是HBASE对连续的WAL的关闭错误次数容忍度。连续的WAL错误产生次数超过设定的值时,会让该Region主机被中止运行。 | 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 | 算是配置一个整型数字值吧。表示Region服务器在新的更新被阻塞和强制刷新之前的最大内存占其总堆内存的大小。默认设置成Region服务器内存的40%。等待(阻塞)更新和强制刷新直到Region服务器中总内存使用量达到'hbase.regionserver.global.memstore.size.lower.limit'属性中设置的值为止。本条属性目前是被置为空的,目的是为了让旧的属性 'hbase.regionserver.global.memstore.upperLimit' 发挥作用。(搞不懂) | none |
| hbase.regionserver.global.memstore.size.lower.limit | Region服务器在被强制刷新之前的最大内存占总内存的大小。默认设置成'hbase.regionserver.global.memstore.size'属性中设置的值的95%。这段英文太绕了,看的很懵,有需要的老铁自己去官网看原文吧。 | none |
| hbase.systemtables.compacting.memstore.type | none | |
| hbase.regionserver.optionalcacheflushinterval | 配置一个整型数字值。用于配置编辑操作在内存中的最大存在时长,超过这一设定时长后本次编辑操作将被自动刷新(being automatically flushed)。将该值设置为0会关闭自动刷新功能,编辑操作将会一直存在于内存中。 | 3600000(ms) |
| hbase.regionserver.dns.interface | 配置Region服务器上报其IP地址的网络接口的名称。 | default |
| hbase.regionserver.dns.nameserver | 被Region服务器用于确定Master的主机名以进行通信等操作的DNS的域名或IP地址 | default |
| hbase.regionserver.region.split.policy | 配置一个Java类名字符串。Region的分割策略。当前可用的几种Region分割策略类有:BusyRegionSplitPolicy, ConstantSizeRegionSplitPolicy, DisabledRegionSplitPolicy, DelimitedKeyPrefixRegionSplitPolicy, KeyPrefixRegionSplitPolicy, SteppingSplitPolicy。如果应用了DisabledRegionSplitPolicy策略的话,将会无法手动分割Region。 | org.apache.hadoop.hbase.regionserver.SteppingSplitPolicy |
唉,后面心情好了再更吧。。。
HBase数据库配置中各配置项的释义及默认值的更多相关文章
- winform中的dateTimePicker控件设置默认值为空
winform中的dateTimePicker控件设置默认值为空 第一步:设置Format的属性值为“Custom” 第二步:设置CustomFormat的属性值为空,需要按一个空格键
- Apollo 中配置String、Map和List和默认值
摘要:在Apollo 中,配置String.Map和List等类型的信息,同时设置默认值. 综述 随着业务需求的变更,需要在Apollo中配置一个Map<String, List>类型 ...
- oracle数据库的一个表中,怎么设置字段的默认值
如果表已经存在,用如下方法设置默认值. alter table 表名 modify 字段名 default 默认值; 如test表中设置address字段为'浙江省',可用如下语句: alter ta ...
- 关于mvc中@Html.DropDownListFor和@Html.DropDownList默认值无法选中问题简单总结
当我们在做类似编辑功能的时候,会给定select选中默认值,然而mvc中偶尔这个功能不能用,或者是强类型的@Html.DropDownListFor不能用.凑巧今天遇到问题,解决问题时发现了mvc的一 ...
- es6(三):es6中函数的扩展(参数默认值、rest参数、箭头函数)
1.函数可以设置参数默认值 function test1(x,y=1){ console.log(x,y) } test1(10)//10 1 2.rest参数:形式为...变量名 function ...
- 如何修改word文档中每行字符的最大默认值和每页最大行数默认值
事情起因是这样的,小明在写论文的过程中,发现自己的文档的字与字的间距看起来比其他人的字符间距大,于是觉得奇怪,明明设置了一样的格式啊,设置每行38个字符,每页34行,为什么小明写的文档字符间距看着比较 ...
- Django中 如何修改models字段的默认值
场景描述: 在建表的时候,新闻表的内容简介字段,给的默认值是可以为空的,但是没有设置默认值为blank,那么,这种情况下,对于只有标题,没有内容简介的新闻来讲,发布之后,前端显示的内容简介位置是non ...
- (转载)JAVA中八种基本数据类型的默认值
原文链接: http://simon-c.iteye.com/blog/1016031 引用 For type byte, the default value is zero, that is, th ...
- 在JSP中使用el函数标签获取默认值(男女性别选项)
http://blog.csdn.net/b10060224/article/details/45771025
随机推荐
- ifram 局部刷新,不刷新父级
function loadIframe(url) { //获取url链接 var u = window.location.href; //因为每次获取的链接中都有之前的旧锚点, //所以需要把#之后的 ...
- jQuery ajax-param()
param() 方法创建数组或对象的序列化表示. 该序列化值可在进行 AJAX 请求时在 URL 查询字符串中使用. 序列化一个 key/value 对象: var params = { width: ...
- SVN系列操作(一)
SVN是什么? SVN是Subversion的简称,是一个开放源代码的版本控制系统,常用于软件开发项目中,实现代码.文档等的历史版本保存.共享和权限管理. 进入SVN本地目录,第一步操作就是updat ...
- JDBC操作MySQL数据
对原始jdbc进行封装 package com.utils; import java.sql.Connection; import java.sql.DriverManager; import jav ...
- 【Linux】SSH证书免密码远程登陆Linux(Putty)
1.前言 新购置一台便宜服务器做数据库服务器,减轻Web服务器的压力. 为了安全性,root密码设置的非常复杂(随机生成),厌倦了拷贝密码登陆的历史. Putty基本用法都不会的请先花10分钟自行学习 ...
- c/c++ linux 进程间通信系列1,使用signal,kill
linux 进程间通信系列1,使用signal,kill 信号基本概念: 软中断信号(signal,又简称为信号)用来通知进程发生了异步事件.进程之间可以互相通过系统调用kill发送软中断信号.内核 ...
- python——python3.6环境搭建(Windows10,64位)
1.python软件资源下载 1.1 打开python官网地址:https://www.python.org 1.2 根据自己电脑的设置选择下载合适的python3.6.2 1.3 此处选择windo ...
- SQLServer之删除触发器
删除触发器 注意事项 可以通过删除DML触发器或删除触发器表来删除DML触发器. 删除表时,将同时删除与表关联的所有触发器. 删除触发器时,会从 sys.objects.sys.triggers 和 ...
- 在Visual Studio 2017上配置并使用OpenGL
在Visual Studio 2017上配置并使用OpenGL 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 首先在Windows下安装Visual ...
- 平滑升级你的Nginx
1.概述(可以直接跳过看第2部分) Nginx方便地帮助我们实现了平滑升级.其原理简单概括,就是: (1)在不停掉老进程的情况下,启动新进程. (2)老进程负责处理仍然没有处理完的请求,但不再接受处理 ...