边肖将与您分享HBase的默认配置。相信大部分人都不是很了解,所以分享这篇文章供大家参考。希望你看完这篇文章会有很多收获。我们一起来看看吧!
hbase.rootdir
该目录是区域服务器的共享目录,用于保存HBase。该网址需要“完全正确”,并包含文件系统的方案。例如,为了表示hdfs中的“/hbase”目录,namenode在namenode.example.org的端口9090上运行。需要设置为HDFS ://NameNode . example . org :9000/hbase。默认情况下,HBase写入/tmp。如果不更改此配置,数据将在重启过程中丢失。
默认:文件://tmp/hbase-$ { user . name }/hbase
hbase.master.port
糖化血红蛋白酶的主端口。
默认值: 60000
hbase.cluster.distributed
HBase的运行模式。True是独立模式,true是分布式模式。如果为假,HBase和Zookeeper将在同一个JVM中运行。
默认值:假
hbase.tmp.dir
本地文件系统的临时文件夹。可以修改为更永久的目录。(/tmp将在重新启动时清除)
默认值为: $ { Java . io . tmpdir }/hbase-$ { user . name }
hbase.local.dir
作为本地存储,本地文件系统的路径。
默认值为: ${hbase.tmp.dir}/local/
hbase.master.info.port
主机网络接口端口。将其设置为-1意味着您不希望它运行。
默认值: 60010
hbase.master.info.bindAddress
由主机网络接口绑定的端口
默认值: 0.0.0.0
hbase.client.write.buffer
HTable客户端的默认写缓冲区大小。该值越大,内存消耗越大。因为缓冲区在客户端和服务器上都有实例,所以它需要消耗客户端和服务器的内存。优点是可以减少RPC的数量。服务器占用的内存可以估计如下:hbase . client . write . buffer * hbase . regionserver . handler . count。
默认值: 2097152
hbase.regionserver.port
HBase区域服务器绑定的端口
默认值: 60020
hbase.regionserver.info.port
HBase RegionServer网络接口的绑定端口设置为-1,这意味着您不想运行RegionServer接口。
默认值: 60030
hbase . regionserver . info . port . auto
或者主区域服务器是否应该动态搜索可用端口来绑定接口。当hbase.regionserver.info.port被占用时,您可以搜索空闲端口绑定。这个函数在测试中非常有用。默认情况下关闭。
默认值:假
hbase . regionserver . info . BiNDADdress
区域服务器网络接口的IP地址
默认值: 0.0.0.0
hbase.regionserver.class
区域服务器使用的接口。当客户端打开代理以连接到区域服务器时,将使用。
默认值为: org . Apache . Hadoop . hbase . IPC . hregioninterface。
hbase.client.pause
典型的客户端暂停时间。最常见的用法是客户端重试前的等待时间。例如,失败的get操作和区域查询操作都可能被使用。
默认值: 1000
hbase.client.retries.number
最大重试次数。要重试的所有操作的最大值。例如,从根区域服务器获取根区域、获取单元格值、行更新操作等。这是最大重试错误的值。默认值: 10。
默认值: 10
hbase.bulkload.re
tries.number
最大重试次数。 原子批加载尝试的迭代最大次数。 0 永不放弃。默认: 0.
默认: 0
hbase.client.scanner.caching
当调用Scanner的next方法,而值又不在缓存里的时候,从服务端一次获取的行数。越大的值意味着Scanner会快一些,但是会占用更多的内存。当缓冲被占满的时候,next方法调用会越来越慢。慢到一定程度,可能会导致超时。例如超过了hbase.regionserver.lease.period。
默认: 100
hbase.client.keyvalue.maxsize
一个KeyValue实例的最大size.这个是用来设置存储文件中的单个entry的大小上界。因为一个KeyValue是不能分割的,所以可以避免因为数据过大导致region不可分割。明智的做法是把它设为可以被最大region size整除的数。如果设置为0或者更小,就会禁用这个检查。默认10MB。
默认: 10485760
hbase.regionserver.lease.period
客户端租用HRegion server 期限,即超时阀值。单位是毫秒。默认情况下,客户端必须在这个时间内发一条信息,否则视为死掉。
默认: 60000
hbase.regionserver.handler.count
RegionServers受理的RPC Server实例数量。对于Master来说,这个属性是Master受理的handler数量
默认: 10
hbase.regionserver.msginterval
RegionServer 发消息给 Master 时间间隔,单位是毫秒
默认: 3000
hbase.regionserver.optionallogflushinterval
将Hlog同步到HDFS的间隔。如果Hlog没有积累到一定的数量,到了时间,也会触发同步。默认是1秒,单位毫秒。
默认: 1000
hbase.regionserver.regionSplitLimit
region的数量到了这个值后就不会在分裂了。这不是一个region数量的硬性限制。但是起到了一定指导性的作用,到了这个值就该停止分裂了。默认是MAX_INT.就是说不阻止分裂。
默认: 2147483647
hbase.regionserver.logroll.period
提交commit log的间隔,不管有没有写足够的值。
默认: 3600000
hbase.regionserver.hlog.reader.impl
HLog file reader 的实现.
默认: org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogReader
hbase.regionserver.hlog.writer.impl
HLog file writer 的实现.
默认: org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogWriter
hbase.regionserver.nbreservationblocks
储备的内存block的数量(译者注:就像石油储备一样)。当发生out of memory 异常的时候,我们可以用这些内存在RegionServer停止之前做清理操作。
默认: 4
hbase.zookeeper.dns.interface
当使用DNS的时候,Zookeeper用来上报的IP地址的网络接口名字。
默认: default
hbase.zookeeper.dns.nameserver
当使用DNS的时候,Zookeepr使用的DNS的域名或者IP 地址,Zookeeper用它来确定和master用来进行通讯的域名.
默认: default
hbase.regionserver.dns.interface
当使用DNS的时候,RegionServer用来上报的IP地址的网络接口名字。
默认: default
hbase.regionserver.dns.nameserver
当使用DNS的时候,RegionServer使用的DNS的域名或者IP 地址,RegionServer用它来确定和master用来进行通讯的域名.
默认: default
hbase.master.dns.interface
当使用DNS的时候,Master用来上报的IP地址的网络接口名字。
默认: default
hbase.master.dns.nameserver
当使用DNS的时候,RegionServer使用的DNS的域名或者IP 地址,Master用它来确定用来进行通讯的域名.
默认: default
hbase.balancer.period
Master执行region balancer的间隔。
默认: 300000
hbase.regions.slop
当任一区域服务器有average + (average * slop)个分区,将会执行重新均衡。默认 20% slop .
默认:0.2
hbase.master.logcleaner.ttl
Hlog存在于.oldlogdir 文件夹的最长时间, 超过了就会被 Master 的线程清理掉.
默认: 600000
hbase.master.logcleaner.plugins
LogsCleaner服务会执行的一组LogCleanerDelegat。值用逗号间隔的文本表示。这些WAL/HLog cleaners会按顺序调用。可以把先调用的放在前面。你可以实现自己的LogCleanerDelegat,加到Classpath下,然后在这里写下类的全称。一般都是加在默认值的前面。
默认: org.apache.hadoop.hbase.master.TimeToLiveLogCleaner
hbase.regionserver.global.memstore.upperLimit
单个region server的全部memtores的最大值。超过这个值,一个新的update操作会被挂起,强制执行flush操作。
默认: 0.4
hbase.regionserver.global.memstore.lowerLimit
当强制执行flush操作的时候,当低于这个值的时候,flush会停止。默认是堆大小的 35% . 如果这个值和 hbase.regionserver.global.memstore.upperLimit 相同就意味着当update操作因为内存限制被挂起时,会尽量少的执行flush(译者注:一旦执行flush,值就会比下限要低,不再执行)
默认: 0.35
hbase.server.thread.wakefrequency
service工作的sleep间隔,单位毫秒。 可以作为service线程的sleep间隔,比如log roller.
默认: 10000
hbase.server.versionfile.writeattempts
退出前尝试写版本文件的次数。每次尝试由 hbase.server.thread.wakefrequency 毫秒数间隔。
默认: 3
hbase.hregion.memstore.flush.size
当memstore的大小超过这个值的时候,会flush到磁盘。这个值被一个线程每隔hbase.server.thread.wakefrequency检查一下。
默认:134217728
hbase.hregion.preclose.flush.size
当一个region中的memstore的大小大于这个值的时候,我们又触发了close.会先运行“pre-flush”操作,清理这个需要关闭的memstore,然后将这个region下线。当一个region下线了,我们无法再进行任何写操作。如果一个memstore很大的时候,flush操作会消耗很多时间。"pre-flush"操作意味着在region下线之前,会先把memstore清空。这样在最终执行close操作的时候,flush操作会很快。
默认: 5242880
hbase.hregion.memstore.block.multiplier
如果memstore有hbase.hregion.memstore.block.multiplier倍数的hbase.hregion.flush.size的大小,就会阻塞update操作。这是为了预防在update高峰期会导致的失控。如果不设上界,flush的时候会花很长的时间来合并或者分割,最坏的情况就是引发out of memory异常。(译者注:内存操作的速度和磁盘不匹配,需要等一等。原文似乎有误)
默认: 2
hbase.hregion.memstore.mslab.enabled
体验特性:启用memStore分配本地缓冲区。这个特性是为了防止在大量写负载的时候堆的碎片过多。这可以减少GC操作的频率。(GC有可能会Stop the world)(译者注:实现的原理相当于预分配内存,而不是每一个值都要从堆里分配)
默认: true
hbase.hregion.max.filesize
最大HStoreFile大小。若某个列族的HStoreFile增长达到这个值,这个Hegion会被切割成两个。 默认: 10G.
默认:10737418240
hbase.hstore.compactionThreshold
当一个HStore含有多于这个值的HStoreFiles(每一个memstore flush产生一个HStoreFile)的时候,会执行一个合并操作,把这HStoreFiles写成一个。这个值越大,需要合并的时间就越长。
默认: 3
hbase.hstore.blockingStoreFiles
当一个HStore含有多于这个值的HStoreFiles(每一个memstore flush产生一个HStoreFile)的时候,会执行一个合并操作,update会阻塞直到合并完成,直到超过了hbase.hstore.blockingWaitTime的值
默认: 7
hbase.hstore.blockingWaitTime
hbase.hstore.blockingStoreFiles所限制的StoreFile数量会导致update阻塞,这个时间是来限制阻塞时间的。当超过了这个时间,HRegion会停止阻塞update操作,不过合并还有没有完成。默认为90s.
默认: 90000
hbase.hstore.compaction.max
每个“小”合并的HStoreFiles最大数量。
默认: 10
hbase.hregion.majorcompaction
一个Region中的所有HStoreFile的major compactions的时间间隔。默认是1天。 设置为0就是禁用这个功能。
默认: 86400000
hbase.storescanner.parallel.seek.enable
允许 StoreFileScanner 并行搜索 StoreScanner, 一个在特定条件下降低延迟的特性。
默认: false
hbase.storescanner.parallel.seek.threads
并行搜索特性打开后,默认线程池大小。
默认: 10
hbase.mapreduce.hfileoutputformat.blocksize
MapReduce中HFileOutputFormat可以写 storefiles/hfiles. 这个值是hfile的blocksize的最小值。通常在HBase写Hfile的时候,bloocksize是由table schema(HColumnDescriptor)决定的,但是在mapreduce写的时候,我们无法获取schema中blocksize。这个值越小,你的索引就越大,你随机访问需要获取的数据就越小。如果你的cell都很小,而且你需要更快的随机访问,可以把这个值调低。
默认: 65536
hfile.block.cache.size
分配给HFile/StoreFile的block cache占最大堆(-Xmx setting)的比例。默认0.25意思是分配25%,设置为0就是禁用,但不推荐。
默认:0.25
hbase.hash.type
哈希函数使用的哈希算法。可以选择两个值:: murmur (MurmurHash) 和 jenkins (JenkinsHash). 这个哈希是给 bloom filters用的.
默认: murmur
以上是“HBase默认配置是什么”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/138725.html