我是靠谱客的博主 称心冰淇淋,最近开发中收集的这篇文章主要介绍hbase优化,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

hbase性能调优:插入,查询

1,
hbase.hregion.max.filesize不宜过大或过小,256MB或许是一个更理想的经验参数。对于离线型的应用,调整为128MB会更加合适一些,而在线应用除非对split机制进行改造,否则不应该低于256MB
原来10G改成100G

2,
hbase.regionserver.handler.count
RegionServer端开启的RPC监听器实例个数,也即RegionServer能够处理的IO请求线程数。默认是10. 改成150. 此参数与内存息息相关。该值设置的时候,以监控内存为主要参考。
对于 单次请求内存消耗较高的Big PUT场景(大容量单次PUT或设置了较大cache的scan,均属于Big PUT)或ReigonServer的内存比较紧张的场景,可以设置的相对较小。
对于 单次请求内存消耗低,TPS(TransactionPerSecond,每秒事务处理量)要求非常高的场景,可以设置的相对大些。
2M改8M,10改150(建议100~200之间)


3,
hbase.hstore.blockingStoreFiles(减少阻止写入)
( HStore的storeFile的文件数大于配置值,则在flushmemstore前先进行split或者compact,除非超过hbase.hstore.blockingWaitTime配置的时间,默认为7,可调大,比如:100,避免memstore不及时flush,当写入量大时,触发memstore的block,从而阻塞写操作。 )
默认7,原来10改成:2000
4,
hbase.regionserver.global.memstore.upperLimit
第一个0.4改成0.45,第二个0.35改成0.4(测试改,生产没有改)

5,
hbase.regionserver.lease.period, hbase.client.scanner.timeout.period
改成15分钟

6 heapsize

都该成CDH5.11,默认参数
7 启动时 HBase Region Server 的连接偏差


3分钟改成10分钟

//20亿是测试调优
hbase.hstore.compaction.max=30
hbase.hregion.memstore.block.multiplier=8
hbase.client.write.buffer=8M

CDH的hbase配置中没有,在代码的conf.set(“”,“”)中添加
hbase.hstore.flusher.count=30
hbase.hstore.compaction.kv.max=50
hbase.regionserver.region.split.policy=org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy

CDH的hbase配置文件
hbase-default.xml


hdfs 调优 部分
1,HADOOP_NAMENODE_OPTS=-Xms4294967296 -Xmx4294967296
2,交换内存警告从任何该成从不


yarn 调优部分
yarn.nodemanager.resource.memory-mb
container的最小值要大于等于80%的那个最小值



最后

以上就是称心冰淇淋为你收集整理的hbase优化的全部内容,希望文章能够帮你解决hbase优化所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部