hbase优化:怎么缩短查询速度

lnh2017 · · 1730 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

来源:http://bbs.oldboyedu.com/article-213-1.html HBase是Hadoop生态系统中的一个组件,是一个分布式、面向列的开源数据库,可以支持数百万列、超过10亿行的数据存储,因此,对HBase性能提出了一定的要求,那么如何进行HBase性能优化呢? HBase的拥有完整的支撑系统,包括底层硬件以及把硬件和操作系统、JVM、HDFS连接起来的网络之间的所有部件,这些都会对HBase性能和状态产生影响;除此之外,HBase的交互方式也会对HBase性能产生影响。 **一、HBase支撑系统优化** **1. 硬件选择** 需根据业务情况和集群规模大小选择合适的硬件。 **2. 网络配置** 由于HBase分布式系统受网络的限制,建议在节点和机架顶置交换机之间采用10Gb以太网交换机,不要满额配置地使用网络,否则在高负载时,会影响HBase应用系统的性能。 **3. 操作系统** 操作系统的选择应考虑是否支持HBase,通常情况下选择Linux操作系统。 **4. 本地文件系统** 本地Linux文件系统在HBase集群体系中起到了重要作用,并严重影响了HBase的性能,建议使用EXT3和XFS作为本地文件系统。 **二、HBase业务访问优化** 根据业务访问特点,Hbase的工作负载大致分为四种: **1. 随机读密集型** 对于随机读密集型工作负载,高效利用缓存和更好地索引会给HBase系统带来更高的性能 **2. 顺序读密集型** 对于顺序读密集型工作负载,可以采用不使用缓存的方式减少硬盘访问次数来提高性能。 **3. 写密集型** 对于写密集型提高性能需尽量减少刷写、合并和拆分的次数,以减少IO压力,提高系统性能。 除了以上方法可以提高HBase性能之外,还可以采用以下方法: 1. JVM垃圾回收优化; 2. 本地memstore分配缓存优化; 3. Region拆分优化; 4. Region合并优化; 5. Region预先加载优化; 6. 负载均衡优化; 7. 启用压缩,推荐snappy; 8. 进行预分区,从而避免自动split,提高hbase响应速度; 9. 避免出现region热点现象,启动按照table级别进行balance。 以上是对HBase性能优化方法的概要总结,有HBase性能优化需求的,可以在此基础上延伸学习,会有一定收获的!

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1730 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传