HBase 配置
hbase-env.sh 配置
|
|
GClog 日志配置
|
|
hbase-site.xml 配置
参数 | 说明 | 默认值 | 建议值 | ||
---|---|---|---|---|---|
hbase.hstore.blockingStoreFiles | hflie阻塞客户端请求数 | 10 | >=64 | ||
hbase.hregion.memstore.flush.size | Memstore 触发 flush操作的大小 | 128M | >=256M | ||
hbase.hregion.memstore.block.multiplier | Memstore 触发 block 异常的倍数 (当memstore大小到达 memstore_flush_size x multiplier 时, 写请求会被block,引发异常) | 4 | 4 | ||
hbase.hregion.memstore.chunkpool.maxsize | memstore | 0 | |||
MSLAB | hbase.hregion.memstore.mslab.enalbed | 开启memstore MSLAB内存分配器 | true | ||
hbase.hregion.memstore.mslab.chunksize | memstore lab 中每个 chunk的大小 | 2M | |||
hbase.hregion.memstore.mslab.max.allocation | 通过MSLAB分配的对象不能超过256K,否则直接在Heap上分配 | 256K | |||
hbase.regionserver.global.memstore.upperLimit | regionserver 中 所有memstore占有jvm堆内存的上限比例。 所有memstore超过这个上限,RS会按大到小依次flush memstore,直到小于lowerLimit。 | 0.45 | |||
hbase.regionserver.global.memstore.lowerLimit | 见上面,一般比upperLimit小0.05 | 0.4 | |||
hfile.block.cache.size | block cache 占jvm 堆内存的比例 | 0.3 | |||
hbase.hstore.flusher.count | memstore flush 线程数 | 2 | >=8 | ||
hbase.regionserver.executor.openregion.threads | 2 | ||||
hbase.regionserver.executor.closeregion.threads | 2 | ||||
hbase.hstore.compaction.max | minor compact 一次可合并的最多 storefile 数 | 10 | |||
hbase.hstore.compaction.min | 触发 minor compact 最少store file个数 | 3 | |||
hbase.hstore.compaction.max | minor compact 一次可合并的最多 storefile 数 | 10 | |||
hbase.hstore.compaction.min | 触发 minor compact 最少store file个数 | 3 | |||
hbase.regionserver.thread.compaction.large | major compact 线程数 | ||||
hbase.regionserver.thread.compaction.small | minor compact 线程数 | ||||
hbase.regionserver.global.memstore.size | rs 中 memstore 占总内存的比例 | 0.4 | |||
hbase.regionserver.hlog.blocksize | rs 中 block size | ||||
hbase.hstore.compactionThreshold | hbase.hstore.compaction.min的旧值。已被代替 | 3 | |||
hbase.hregion.max.filesize | |||||
hbase-site.xml 参数说明
zk相关
hbase.zookeeper.quorum
hbase 集群的 zk链接入口。
默认值:无
eg:
11-3-26-102.LOCAL:2181,11-3-26-104.LOCAL:2181,11-3-26-134.LOCAL:2181 zookeeper.znode.parent
hbase 集群znode节点名称。
默认:/hbase
eg:
/hbase-hdfs01
fs
hbase.rootdir
hbase 数据存储文件系统root目录,可设置为hdfs文件系统目录(hdfs://xxxx)或分布式fs本地目录(file:///xxxx)
默认:无
eg:
hdfs://11-3-26-106.LOCAL:9000/hbase01 hbase.tmp.dir
hbase 运行临时目录
默认:
eg:
/export/Data/hbase/tmp
WAL相关
hbase.regionserver.hlog.enabled 是否启用wal。
默认:true
eg:
true hbase.regionserver.hlog.blocksize
Hbase wal文件块大小。
默认:fs 块大小,hdfs默认为:
eg:
134217728 hbase.regionserver.maxlogs regionserver上wal的最大个数,超过该个数,会触发memstore flush 操作。可引起写请求的阻塞。
默认:32
eg:
81 hbase.regionserver.hlog.slowsync.ms regionserver wal sync 操作缓慢的定义时间。如果wal sync的时间超过该时间,则在日志中记录。
默认:100ms
eg:
350 hbase.regionserver.hlog.splitlog.writer.threads Wal split 写入线程数。
默认:3
hbase.regionserver.optionallogflushinterval
wal log flush 间隔
默认:1000ms
已废弃
hbase.regionserver.logroll.period Wal log roll周期间隔
默认: 3600000ms (1h)
hbase.regionserver.hlog.syncer.count
hlog sync 线程数。
默认:5
memstore相关
hbase.regionserver.global.memstore.size rs中memstore占jvm heap的比例
默认:0.4
eg:
hbase.regionserver.global.memstore.size.lower.limit hbase.hregion.memstore.flush.size hbase.hregion.memstore.block.multiplier hbase.hregion.memstore.chunkpool.initialsize hbase.hregion.memstore.chunkpool.maxsize hbase.regionserver.optionalcacheflushinterval memstore周期flush的时间间隔,0禁止周期flush
默认:36000000 1h
hbase.regionserver.offheap.global.memstore.size
1 2 3 4 5 6 7 8
<property> <name>hbase.regionserver.offheap.global.memstore.size</name> <value>0</value> <description> The amount of off-heap memory all MemStores in a RegionServer may use. A value of 0 means that no off-heap memory will be used. </description> </property>
hbase.hregion.memstore.mslab.enabled
storefile相关
hbase.hregion.max.filesize hbase.hstore.blockingStoreFiles hbase.hstore.blockingWaitTime hbase.hstore.flusher.count hbase.regionserver.storefile.refresh.period
compaction相关
hbase.hregion.majorcompaction hbase.hstore.compaction.kv.max hbase.regionserver.thread.compaction.small hbase.regionserver.thread.compaction.large hbase.hstore.compaction.max hbase.hstore.compaction.min hbase.hregion.compacting.memstore.type hbase.regionserver.throughput.controller org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController hbase.hregion.compacting.memstore.type hbase.hstore.compactionThreshold:
|
|
blockcache相关
hfile.block.cache.size
复制
开启压缩
|
|
其他
hbase.superuser hbase超级用户
默认:root
eg:
root,admin hbase.meta.versions hbase.regionserver.handler.count rpc 线程数
默认:200
hbase.replication hbase.cluster.distributed
是否启用分布式集群模式
默认: false
Eg:
true hbase.ipc.server.read.threadpool.size
Hbase ipc Reader 网络 IO 个数,reader 的个数决定了从网络 io 里读取数据的速度也就是网络吞吐量。
默认: 10。
rpc
hbase.regionserver.handler.count
handler指的是RegionServer端开启的RPC监听器实例个数,也即RegionServer能够处理的IO请求线程数。
默认: 30。
hbase.ipc.server.callqueue.read.ratio
假如handler count设置300,那么,读的handler就有 300*0.3=90
hbase.ipc.server.callqueue.scan.ratio
scan的90*0.3=27
使用堆外内存(bucketcache):
|
|
compact 限速
|
|
配置动态更新
可动态更新的配置项:http://hbase.apache.org/book.html#dyn_config
|
|
hbase shell
|
|