HBase在淘宝主搜索的Dump中的性能调优

标签: 数据挖掘 | 发表时间:2012-08-03 16:53 | 作者:道凡
出处:http://www.searchtb.com

目前HBase已经运用于淘宝主搜索的全量和增量的数据存储,有效的减低的数据库的压力,增强了业务扩展的能力。Dump系统的特点是要求在短时间内处理大量数据,对延时要求高。在实施这个项目过程中,我们积累了一些优化的实践,抛砖引玉,供大家参考。

环境:Hadoop CDH3U4 + HBase 0.92.1

1、  尽可能用LZO

数据使用LZO,不仅可以节省存储空间尤其是可以提高传输的效率,因为数据是在regionserver端作解压的。通过测试,可以明显提高HBASE从HDFS的读的性能。尽量不用GZ的方式,GZ的方式在bulkload时有线程安全问题。

2、  根据场景调整Block size

由于使用我们非常关注随机读的性能,一条记录的长度较小,通过设置blocksize=8k,可以提高随机读的性能。

3、  在系统空闲的时候,启动major compaction

在实际中,我们发现随着region不停的flush,hfile的增多会影响scan的性能,为了能控制影响,我们设置了hbase.hregion.majorcompaction为一个比较大的时间,通过另外的定时脚本在空闲的时候集中做各表的major compaction。这样可以保证scan的性能是平稳的。

4、  调整balance策略

我们采用了表级别的balance,但是上线后依旧发现有时scan,会抛timeout的异常。通过hmaster的日志,发现当hbase的表多并且当有regionserver挂掉的时候,表级别balance的策略会导致大面积的region移动。后来通过增加阈值控制,每次balance的时候,每张表的region移动的数量不超过整张表region数量的5%。

5、  关注HDFS的问题

当有regionserver挂掉后,有时split log会很慢,会超时导致master不停的重新resubmit split task,最终导致某些scan任务抛timeout异常。原因是datanode的连接数太多,具体原因是 https://issues.apache.org/jira/browse/HDFS-3359 通过升级hdfs到HADOOP CDH3U4之后,问题解决。

6、  注重rowkey设计

使用hash值+具体的key,并且设置一个巨大的MAX_FILESIZE。固定每个region的范围,防止做split,防止split带来的隐患。

7、  尽可能的用batch操作

通过使用batch的方式,能提高近10倍的性能,使原本单条记录的随机读从20ms左右降至2ms左右,因为batch的内部是按regionserver来发送数据的,所以每次batch的List<Row>的大小,应设置成regionserver的若干倍。

8、  如果可以的话,减少数据的versions

由于我们业务只需要一个版本,设置version=1,可以有效的控制hfile的大小,从而控制scan的性能。

相关 [hbase 淘宝 搜索] 推荐:

HBase在淘宝主搜索的Dump中的性能调优

- - 搜索技术博客-淘宝
目前HBase已经运用于淘宝主搜索的全量和增量的数据存储,有效的减低的数据库的压力,增强了业务扩展的能力. Dump系统的特点是要求在短时间内处理大量数据,对延时要求高. 在实施这个项目过程中,我们积累了一些优化的实践,抛砖引玉,供大家参考. 环境:Hadoop CDH3U4 + HBase 0.92.1.

HBASE在QIHOO 360搜索中的应用

- - 开源软件 - ITeye博客
【CSDN现场报道】中国IT界技术盛会——Hadoop与大数据技术大会(Hadoop&BigData Technology Conference 2012,HBTC 2012)于2012年11月30日-12月1日在北京新云南皇冠假日酒店隆重召开. 本次大会以“大数据共享与开放技术”为主题,聚焦于Hadoop与大 数据,力邀数十位国内外Hadoop及大数据技术应用的产学界人士和实践企业,探讨大数据技术生态系统的现状和发展趋势,并围绕Hadoop与大数据热点 技术和应用实践进行深入解析.

HBase在淘宝的应用和优化小结

- - NoSQLFan
本文来自于NoSQLFan联合作者@ koven2049,他在淘宝从事Hadoop及HBase相关的应用和 优化. 对Hadoop、HBase都有深入的了解,本文就是其在工作中对HBase的应用优化小结,分享给大家. 原文地址: http://walkoven.com/?p=57. 文章PDF下载: http://walkoven.com/hbase:optimization and apply summary in taobao.pdf.

基于Nutch+Hadoop+Hbase+ElasticSearch的网络爬虫及搜索引擎

- - zzm
网络爬虫架构在Nutch+Hadoop之上,是一个典型的分布式离线批量处理架构,有非常优异的吞吐量和抓取性能并提供了大量的配置定制选项. 由于网络爬虫只负责网络资源的抓取,所以,需要一个分布式搜索引擎,用来对网络爬虫抓取到的网络资源进行实时的索引和搜索. 搜 索引擎架构在ElasticSearch之上,是一个典型的分布式在线实时交互查询架构,无单点故障,高伸缩、高可用.

【读图】淘宝搜索排名规则

- - i天下网商
有心人虎用军根据视频《淘宝搜索排名规则——相关性解读及其策略》整理出了详尽的思维导图,虽然不能完全代表淘宝搜索排名规则,但对于初级阶段的卖家来说,是不可多得的一份实战干货. 天下网商视觉团队设计,图说淘宝搜索排名规则. (注:此图仅供卖家学习交流,具体操作请以淘宝官方制定的淘宝搜索排名规则为准. 【网商百宝箱】淘宝搜索新规解读.

淘宝搜索算法现状

- - 互联网分析
淘宝搜索排序的目的是帮助用户快速的找到需要的商品. 从技术上来说,就是在用户输入关键词匹配到的商品中,把最符合用户需求的商品排到第一位,其它的依次排在后续相应的位置. 为了更好的实现这个目标,算法排序系统基本按三个方面来推进:. 当用户输入关键词进行搜索的时候,系统依据算法模型来给匹配到的每个商品进行实时的计算,并按照分数的大小对商品进行排序.

文本搜索:淘宝搜索新玩法

- - 派代网 - 资讯
“对于消费者和商家来说,都是新的开始. 淘宝搜索部门负责人文德如此描述将于1月7日测试上线的文本搜索选购知识的新功能. 这项新功能主要在用户搜索结果中增加产品选购的相关知识,而选购知识的提供者就是卖家. 淘宝搜索历来都是卖家关注的焦点,每一个排名的变化都会影响到卖家的切身利益,也会带来卖家或多或少的批评.

从未降级的搜索技术 – HBase集群升级与优化

- - 搜索技术博客-淘宝
战争从来都是拼后勤拼平台支撑的,天猫双十一这一天对于我们搜索事业部来说,就是一场高强度的数字化战争. 为了这一天,各兄弟业务线的战友们已经摩拳擦掌,纷纷亮出各种新式武器,而我们原有的离线系统平台却渐渐显出疲态,慢慢被来自各业务线的不断提升的压力需求搞得捉襟见肘了. 个性化搜索实时数据处理平台(Pora)在双十一将正式亮相,当时我们预计会有数以十亿计的新增HBase读写请求,如果不进行升级优化,原有的离线集群预计将无法承受这一前所未有的压力;天猫业务线的增量在双十一更是重中之重,届时预计会有数倍甚至十多倍的增长,不断流,不延迟对于原有的离线集群来说也是巨大的考验;主搜、国际站等业务线也都对底层平台提出了越来越高的要求,凌晨全量的时间极其有限,不能出现任何闪失.

淘宝搜索规则十大金牌经验

- - i天下网商
史上最全搜索规则经验分享,包括:常见的违规现象、详情页链接的问题、主图质量的问题、卖家信誉的问题、橱窗推荐位和下架时间的使用、滞销宝贝的处理、宝贝属性的影响、消保的影响等. 处理: 系统识别后对涉嫌虚假销量、信用的宝贝给予三十天的单个宝贝搜索降权,同时根据卖家店铺涉嫌虚假交易情节严重程度给予卖家七至九十天的全店宝贝搜索降权.