您好,登錄后才能下訂單哦!
這篇文章主要講解了“ElasticSearch生產環境配置有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“ElasticSearch生產環境配置有哪些”吧!
ElasticSearch觀念轉換:
索引:可以認為是數據庫中的一個Schema。
類型:邏輯上具有相同格式的文檔集合,可以和數據庫中的表概念類似。
文檔:對所描述的實體對象的具體實例化,可以和數據庫中的行相對應。
字段:以Json的鍵值對方式組織的多個字段。字段可以是對象類型、數組類型或者核心數據類型,字段可以與數據庫列對應。
集群節點類型:
主節點:負責節點間集群之間的變更協調。這些變更包括索引、映射的管理、增刪節點,分片重分配等。
數據節點:用來存放Lucene索引,它負責ElasticSearch中的數據插入,并滿足用戶的查詢請求。
客戶端節點:相當于負載均衡器,負責解析HTTP請求,并將其轉發到相應的數據節點。它把解析和轉發請求這部分工作從主節點和數據節點上獨立出來。另外客戶端節點也負責將各個節點運算的中間結果進行匯總,并將最終結果返給用戶。在es集群中客戶端節點不是必須的,但如果使用必須禁用其它節點的http,這樣就會強制使用es內部通信協議。
部落節點:部落節點可以實現多個集群的橋接。它可以作為兩個集群間的負載均衡器。它為后端的多個集群提供了統一訪問客戶端。
數據分布:
分片:es索引允許分隔成不同的數據子集存儲在不同節點上,分片就是es索引部分數據的數據子集,分片是單個Es數據節點上的一個獨立存儲單元,分片其實就是一個純碎的Lucene索引。
副本:es副本提供的故障轉移機制,除了故障轉移,副本也可以參與執行查詢的過程。如果你的應用系統正在承受龐大的流量負載,那么增加硬件擴展更多節點,把每個分片和副本分配到獨占的節點上會獲得更大的并行度提升查詢效率。注意:(副本越多,向索引中插入文檔的效率就越低)。
生產環境配置(硬件):
內存:es非常消耗內存,為了避免OutOfMemory以及由于OutOfMemory引發的其它潛在問題,同時保障查詢的效率,內存是我們硬件規劃的首要考慮因素,建議內存在16G到64G之間。
CPU:cpu的時鐘頻率對es的性能影響并不太大,但是文檔的插入和文檔搜索的性能取決于并發線程數,而并發線程數取決于CPU核心的個數。在生產環境中最好有4到8個cup核心,對es來說與更快的cup速度相比,更多的cup核心更為重要。
磁盤:在進行文檔插入或者文檔查詢是,es是io極其敏感的,尤其我們在向es批量加載數據時,io對加載性能的影響更大。高IOPS的SSD硬盤成為了不二之選。(注:你可能覺得頻繁更新操作會縮短SSD硬盤壽命,但是lucene索引是完全不可修改的,更新操作是刪除,然后插入,對es來說也不存在什么更新問題)。
網絡:最好不要垮數據中心。注意:集群查詢性能是由集群中性能最差的主機決定,可以考慮閑置的低配置作為客戶端使用,或者(客戶端+主節點)。
其它參數配置
內存配置:默認情況下es節點的堆內存為1G,es將自動數據緩存到內存中后可大大提高過濾、排序和切面的速度,所以這個參數必須設置,一般es分配的內存至少是物理內存的一半,另外一半用于lucence緩存字段信息,它使用的操作系統緩存,而不是es堆內存。
感謝各位的閱讀,以上就是“ElasticSearch生產環境配置有哪些”的內容了,經過本文的學習后,相信大家對ElasticSearch生產環境配置有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。