Elasticsearch 是一個基於 Apache Lucene 構建的免費開源搜索和分析引擎。Elasticsearch 是分散式的,支援所有數據類型,包括數值、文本、結構化、非結構化和地理空間數據。Elasticsearch 帶有簡單的 REST API,並提供可擴展性和快速搜索功能。
Elasticsearch 是 Elastic Stack 的重要組成部分,Elastic Stack 是一組開源工具,包括數據擷取、儲存、豐富化、視覺化和分析。堆疊中值得注意的工具是 Elasticsearch、Logstash 和 Kibana(ELK)。
Elasticsearch 架構利用 Lucene 索引建置,並將其與分散式模型相結合,該模型將架構分成稱為分片的小元件,這些元件可以分佈在多個節點上。
在本文中,您將學到:
Elasticsearch 是一個可擴展的搜尋和分析解決方案,支援多租戶並提供近乎即時的搜尋。您可以使用 Elasticsearch 啟用對所有類型的資料和各種位置的搜尋。引擎從多個位置攝取資料、儲存資料,並根據預定義的手動或自動映射為資料編製索引。
由於 Elasticsearch 採用分散式架構,因此使用者可以近乎即時地搜尋和分析大量資料。此外,Elasticsearch 在搜尋過程中引入了可擴充性,使您能夠從一台機器開始,然後擴展到數百台。
您可以使用 Elasticsearch 執行功能齊全(也稱為全文)搜尋叢集,例如文件搜尋、產品搜尋和電子郵件搜尋。但是,這需要高水準的技能和經驗。您還可以使用 Elasticsearch 儲存待切片和切塊的資料,以及需要按類別分組的資料,例如指標、追蹤和日誌。
Elasticsearch 可部署在各種雲端環境以及內部部署中。您可以自行託管 Elasticsearch,也可以使用 AWS Elasticsearch 等雲端服務。
Elasticsearch 使用稱為 beats 的運輸代理將原始資料從多個來源傳輸到 Elasticsearch。將資料傳送到 Elasticsearch 後,引擎將執行資料擷取流程,解析、規範化、豐富和準備資料以建立索引。為資料編製索引後,使用者可以執行複雜查詢並使用彙總來擷取複雜的資料摘要。
對於視覺化和管理,Elastic Stack 提供了一個名為 Kibana 的工具,它使用戶能夠創建即時數據視覺化,例如圓餅圖、地圖、折線圖和直方圖。Kibana 還允許您共享儀表板、使用 Canvas 創建自定義動態資訊圖表,以及使用 Elastic Maps 視覺化地理空間數據。
Elasticsearch 架構專為可擴展性和靈活性而構建。核心元件是 Elasticsearch 叢集、節點、分片和分析器。
Elasticsearch 叢集由一組儲存資料的節點組成。您可以指定與叢集一起開始執行的節點數量,以及虛擬或實體伺服器的 IP 位址。您可以在 config/elasticsearch.yml 檔案中指定此資訊,該檔案包含所有組態設定。
Elasticsearch 叢集中的節點相互連接,每個節點包含一小塊叢集資料。您可以根據需要執行任意數量的叢集。但是,通常一個節點就足夠了。當新節點啟動時,系統會自動建立叢集。節點參與負責搜尋和索引的整個叢集程序。
通常,術語節點是指作為叢集的一部分工作的伺服器。在 Elasticsearch 中,節點是一個執行個體,而不是機器。這意味著您可以在一台機器上執行多個節點。Elasticsearch 執行個體由一個或多個基於叢集的節點組成。根據預設,當 Elasticsearch 執行個體啟動時,節點也會開始執行。
以下是設定 Elasticsearch 節點的三個主要選項:
Elasticsearch 架構使用兩個主要連接埠進行通訊:
每個索引上可以儲存的文件數量沒有限制。但是,如果索引超過託管伺服器的儲存限制,Elasticsearch 可能會當機。為了防止此問題,索引被拆分為稱為分片的小塊。
分片是小型且可擴展的索引單元,可作為 Elasticsearch 架構的構建塊。分片使您能夠分配操作並提高整體性能。創建索引後,您可以根據需要創建任意數量的分片。每個分片都作為一個獨立的 Lucene 索引工作,您可以將其託管在叢集中的任何位置。
在 Elasticsearch 中,副本是索引分片的副本。副本用作備份和恢復目的的故障安全機制。副本永遠不會放置在包含原始(主)分片的節點上。
為了確保可用性,副本儲存在不同的位置。您可以在建立索引後定義副本,並根據需要建立任意數量的副本。這意味著您可以儲存比主分片更多的副本。
分析器負責將短語和表達式解析為組成術語。這在索引過程中發生。每個分析器由一個分詞器和多個分詞器篩選器組成。當遇到某個表達式時,分詞器可以將字串拆分為預定義的術語。
Elasticsearch 架構旨在支援文檔的檢索,這些文檔儲存為 JSON 物件。Elasticsearch 支援巢狀結構,這有助於處理複雜的資料和查詢。為了追蹤資訊,Elasticsearch 使用以底線開頭的鍵,底線表示中繼資料。
NetApp Cloud Volumes ONTAP 是領先業界的企業級儲存管理解決方案,可在 AWS、Azure 和 Google Cloud 上提供安全可靠、實證肯定的儲存管理服務。Cloud Volumes ONTAP 支援高達 368TB 的容量,並支援各種使用案例,例如檔案服務、資料庫、DevOps 或任何其他企業工作負載,並具有一系列強大的功能,包括高可用度、資料保護、儲存效率、Kubernetes 整合等。
Cloud Volumes ONTAP 支援管理雲端 SAN 儲存的進階功能,可滿足 NoSQL 資料庫系統的需求,以及可直接從雲端大數據分析叢集存取的 NFS 共用。
此外,Cloud Volumes ONTAP 還提供精簡配置、資料壓縮和重複資料刪除等儲存效率功能,可減少高達 70% 的儲存佔用空間和成本。
如需進一步了解如何使用 NetApp 優化 Elasticsearch 部署,請立即下載我們的免費 eBook《使用 Cloud Volumes ONTAP 優化 Elasticsearch 效能與成本》。