※ 網頁設計 一頭霧水該從何著手呢? 台北網頁設計 公司幫您輕鬆架站! 當全世界的人們隨著網路時代而改變向上時您還停留在『網站美醜不重要』的舊有思維嗎?機會是留給努力改變現況的人們,別再浪費一分一秒可以接觸商機的寶貴時間! 概要 本篇開始介紹Elasticsearch生產集群的搭建及相關參數的配置。 ES集群的硬件特性 我們從開始編程就接觸過各種各樣的組件,而每種功能的組件,對硬件要求的特性都不太相同,有的需要很強的CPU計算能力,有的對內存需求量大,有的對網卡要求高等待,下面我們討論一下ES集群對幾種硬件的特性需求。 CPU ES集群對CPU的要求相對低一些,畢竟純計算的比重要小一些,選用主流的CPU,2核到8核的都可以。 如果有兩種CPU可以挑選,一種是主頻高但核數少的CPU,另一種是主頻一般核數多的CPU,肯定選后一種,因為多核的CPU可以提供更多的併發處理能力,遠比單核高性能帶來的效益要高。 內存 ES集群對內存的要求很高,部署ES集群時,要把大部分資源投入到內存當中。內存分配主要有兩部分,JVM heap內存(堆內存)和OS Cache內存。 JVM heap內存用得不多,主要是OS Cache,我們知道,ES建立的倒排索引,正排索引,過濾器緩存,都是優先放在內存當中的,OS Cache的大小直接決定搜索的性能,如果OS Cache不夠,ES搜索等操作只有被迫讀硬盤,延時就會從毫秒級升到秒級。 OS Cache具體在多大才算夠,取決於數據量,如果是百萬級別的數據,16GB左右應該可以接受,如果是億級,一般單節點都是64GB內存。生產環境最低要求內存應不低於8GB。 硬盤 硬盤成本本身比較便宜,能用SSD就用SSD,訪問速度肯定比机械硬盤快,預估好數據量后就盡可能多規劃一些容量。 另外盡量使用本地存儲,網絡存儲還依賴於網絡傳輸,這個容易造成一些延遲。 網絡 對ES集群這種分佈式系統來說,快速並且可靠的網絡還是比較重要的,shard的分配和rebalance都需要佔用大量的帶寬,集群最好部署在同一個局域網內,異地容災等跨數據中心的部署方案,要考慮到網絡故障帶來的影響。 JVM選擇 使用ES官網推薦的JDK版本,服務端和客戶端盡量使用同一個版本的JDK。 涉及到ES服務端的JVM調優...