您好,登錄后才能下訂單哦!
本篇內容介紹了“Hbase的網絡爬蟲及搜索引擎有什么優點”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
網絡爬蟲架構在Nutch+Hadoop之上,是一個典型的分布式離線批量處理架構,有非常優異的吞吐量和抓取性能并提供了大量的配置定制選項。由于網絡爬蟲只負責網絡資源的抓取,所以,需要一個分布式搜索引擎,用來對網絡爬蟲抓取到的網絡資源進行實時的索引和搜索。
搜 索引擎架構在ElasticSearch之上,是一個典型的分布式在線實時交互查詢架構,無單點故障,高伸縮、高可用。對大量信息的索引與搜索都可以在近 乎實時的情況下完成,能夠快速實時搜索數十億的文件以及PB級的數據,同時提供了全方面的選項,可以對該引擎的幾乎每個方面進行定制。支持RESTful 的API,可以使用JSON通過HTTP調用它的各種功能,包括搜索、分析與監控。此外,還為Java、PHP、Perl、Python以及Ruby等各 種語言提供了原生的客戶端類庫。
網絡爬蟲通過將抓取到的數據進行結構化提取之后提交給搜索引擎進行索引,以供查詢分析使用。由于搜索引擎的設計目標在于近乎實時的復雜的交互式查詢,所以搜索引擎并不保存索引網頁的原始內容,因此,需要一個近乎實時的分布式數據庫來存儲網頁的原始內容。
分布式數據庫架構在Hbase+Hadoop之上,是一個典型的分布式在線實時隨機讀寫架構。極強的水平伸縮性,支持數十億的行和數百萬的列,能夠對網絡爬蟲提交的數據進行實時寫入,并能配合搜索引擎,根據搜索結果實時獲取數據。
網 絡爬蟲、分布式數據庫、搜索引擎均運行在普通商業硬件構成的集群上。集群采用分布式架構,能擴展到成千上萬臺機器,具有容錯機制,部分機器節點發生故障不 會造成數據丟失也不會導致計算任務失敗。不但高可用,當節點發生故障時能迅速進行故障轉移,而且高伸縮,只需要簡單地增加機器就能水平線性伸縮、提升數據 存儲容量和計算速度。
網絡爬蟲、分布式數據庫、搜索引擎之間的關系:
1、網絡爬蟲將抓取到的HTML頁面解析完成之后,把解析出的數據加入緩沖區隊列,由其他兩個線程負責處理數據,一個線程負責將數據保存到分布式數據庫,一個線程負責將數據提交到搜索引擎進行索引。
2、搜索引擎處理用戶的搜索條件,并將搜索結果返回給用戶,如果用戶查看網頁快照,則從分布式數據庫中獲取網頁的原始內容。
整體架構如下圖所示:
爬蟲集群、分布式數據庫集群、搜索引擎集群在物理部署上,可以部署到同一個硬件集群上,也可以分開部署,形成1-3個硬件集群。
網絡爬蟲集群有一個專門的網絡爬蟲配置管理系統來負責爬蟲的配置和管理,如下圖所示:
搜 索引擎通過分片(shard)和副本(replica)實現了高性能、高伸縮和高可用。分片技術為大規模并行索引和搜索提供了支持,極大地提高了索引和搜 索的性能,極大地提高了水平擴展能力;副本技術為數據提供冗余,部分機器故障不影響系統的正常使用,保證了系統的持續高可用。
有2個分片和3份副本的索引結構如下所示:
一個完整的索引被切分為0和1兩個獨立部分,每一部分都有2個副本,即下面的灰色部分。
在 生產環境中,隨著數據規模的增大,只需簡單地增加硬件機器節點即可,搜索引擎會自動地調整分片數以適應硬件的增加,當部分節點退役的時候,搜索引擎也會自 動調整分片數以適應硬件的減少,同時可以根據硬件的可靠性水平及存儲容量的變化隨時更改副本數,這一切都是動態的,不需要重啟集群,這也是高可用的重要保 障。
“Hbase的網絡爬蟲及搜索引擎有什么優點”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。