中国HBase技术社区第二届MeetUp -笔记摘要

kylin:通过预计算(已知要查询的维度),通过spark,mr遍历计算这些指标,然后将结果存储到hbase中,最后直接查询hbase表即可。

hbase rowkey定义不宜过长,否则存储压力会很大。这里通过使用字典编码。

hbase 优化经验:

火焰图分析:从下往上分析,峰值的分布(满载还是正常)

hbase内存消耗主因(memstore(写文件), blockcache(读取))

两种不同的gc算法:
hbase gc 参数配置:

使用G1算法,效果显著。

hbase WAL 和核心业务配置为ALL_SSD(所有副本使用SSD)

指定队列

分别使用HDD, ONE_SSD, ALL_SSD ,和使用读写分离。性能的变化。。

设置zone_reclaim。。可以避免本地内存不够导致OOM。(numa的问题)

hbase (高一致性,一行数据一般都是通过一个regionserver来处理,通过单机来保证一致性,所以发生故障,恢复可能会较慢)和
Cassandra(HA要求高,一致性较低(一半副本写完既可以,所以读取时可能读取不到最新数据,然后通过异步刷新,知道最终写完副本),
redis(集群方式不完善)的区别

why?region crash 为true, 就无法恢复上不了线。

不做compaction(合并),flush。

怎么把磁盘打满(利用起来)?

限流不要太狠,需因地制宜

避免小文件生成,和compaction合并。是否配置自动(1h)flush,和多少changes(3千万)flush。

到底写多少hlog根据盘数目:(怎么把磁盘用起来)

远程读和hybrid 都需要注意网络问题

使用jsata去查看handler wait在哪里?

上一篇:如何使用DotNET构建大型分布式应用-山东省寿光市区域公共卫生平台


下一篇:iOS 如何将 long 或 long long 转换成 NSString