開源大數據索引項目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),在後臺留言諮詢。
技術債不能欠,健康債更不能欠, 求道之路,咱們同行。
歡迎關注本站公眾號,獲取更多信息