开源大数据索引项目hive-solr


github地址:https://github.com/qindongliang/hive-solr
欢迎大家fork和使用

关于这个项目的介绍,请参考散仙前面的文章:
http://qindongliang.iteye.com/blog/2283862

最新更新:
(1)添加了对solrcloud集群的支持
(2)修复了在反序列时对于hive中null列和空值的处理bug
(3)优化了在构建索引时对于null值和空值的忽略

一些测试:

数据量:约一千二百万,8个字段,其中一个是大文本,2个是分词字段,索引前数据体积约20G

索引总耗时:约15分钟

索引后体积:每个shard约6G,共约18G

Hive:限制最大并发map数为30个,怕影响Hbase服务,注意使用Hive建完索引后,需要手动commit一次,使内存索引flush到磁盘上

批处理:每个map里面10万数据,批量处理提交一次,不commit,这个值根据情况设定,太大了容易solrcloud容易丢数据,太小了会影响速度

solrcloud集群版本为5.1使用3台机器,每台一个shard,无副本,jetty的内存给了10G

CPU:24核,注意大文本分词字段非常耗cpu

solr的jvm参数调整:
(1) 调大 SurvivorRatio 区占比,降低survivor区的内存空间
(2)调小NewRatio区占比,增大新生代的内存空间
(3)调大永久代MaxPermSize内存至256M
(4)调整MaxTenuringThreshold=0 ,使大对象加速进入老年代,避免在survivor和eden区来回拷贝,使用YGC次数变多
其他参数还是默认配置

solr服务端配置:
(1)关闭自动commit
(2)设置ramBufferSizeMB为1000 ,约等1G
(3)设置maxBufferedDocs等-1,禁用maxBufferDocs
(4)设置mergeFactor为100




有什么问题可以扫码关注微信公众号:我是攻城师(woshigcs),在后台留言咨询。
技术债不能欠,健康债更不能欠, 求道之路,我们同行。


猜你喜欢

转载自qindongliang.iteye.com/blog/2296367