標籤:
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),在後台留言諮詢。
技術債不能欠,健康債更不能欠, 求道之路,我們同行。
開源大資料索引項目hive-solr