2011-12-29 71 views
2

我們在需要實時搜索的多個Web服務器上有大量日誌文件(大約100s的Gig)。這些日誌文件由不同的應用程序每秒多次寫入。爲此,我們最近在某些服務器上安裝了hadoop集羣。爲了實現對這些日誌的搜索,我想到了這種設計:在Web服務器上運行一個進程,創建日誌的倒排索引並將其緩存在內存中(在Web服務器本身上),並通過水槽推送到HDFS在緩存滿時存儲在Hive中(這非常類似於LRU緩存)。當搜索到某些內容時,這有兩個方面的幫助:最近的日誌從內存中緩存中返回,並且快速和舊的日誌從磁盤返回。而且由於用戶希望首先看到最新的日誌,所以這種技術是有效的有人可以驗證這種設計是否可以正常工作和擴展。周圍有更好的替代品嗎?使用hadoop的日誌搜索

感謝

回答

0

你可以倒排索引存儲在HBase的提供給您的舊日誌更多的實時訪問。

HBase也可能是您的內存緩存的可行替代方案。如果你想統一存儲平臺而不是分裂,你可以做到這一點。它顯然會比memcached或redis慢。


一個完全不同的方法可以使用Lucene/Solr索引您的日誌。這爲搜索提供了很多不錯的功能。