Elasticsearch-配置

ES-配置

ES能夠輕鬆地、高效地擴展,當處理大量的數據或者請求的時候,這一點是很是重要的。
使用集羣時須要修改的配置
1.在elasticsearch.yml中指定集羣的名稱-這是ES具體選項所在的主要配置文件
2.在logging.yml中編輯日誌選項-日誌配置文件包括log4j的日誌選項,ES使用這個庫來記錄日誌。
3.在環境變量或elasticsearch.in.sh中調整內存設置-這個文件用於配置ES所運行的Java虛擬機(JVM)vim

1. 指定集羣名稱

解壓安裝包後,在此路徑下elasticsearch-2.3.2/config有一elasticsearch.yml文件。
默認狀況下,新的節點經過多播發現已有的集羣-經過向主機發送ping請求,這些主機偵聽某個特定的多播地址。若是發現細膩的集羣並且有一樣的集羣名稱,新的節點就會加入他們。須要定製化集羣的名稱,防止默認配置的實例加入到集羣中。在elasticsearch.yml文件中找到cluster.name,修改value值便可
cluster.name: Feng-cluster
修改完配置文件後,重啓ES,control-c中止ES,在bin/elasticsearch啓動
注意:每行配置前必定不能帶有空格,不然啓動失敗
若是已經索引了一些數據,在修改了集羣名稱重啓後,會發現沒有任何數據了,這是由於數據存儲的目錄包含集羣的名稱,因此能夠將集羣名稱改回去而後再次重啓,找回以前的索引數據。緩存

2. 經過logging.yml指定詳細日誌記錄

ES日誌記錄經過3類文件組織
(1) 主要日誌(cluster-name.log):在這裏將發現ES運行時所發生一些的綜合信息。如:某個查詢失敗或一個新的節點加入集羣
(2) 慢搜索日誌(cluster-name_index_search_slowlog.log):當某個查詢運行得很慢時,ES在這裏進行記錄。默認狀況下,若是一個查詢花費時間多於半秒,將在這裏寫入一條記錄
(3) 慢索引日誌(cluster-name_index_indexing_slowlog.log):這和慢搜索日誌相似,默認狀況下,若是一個索引操做花費的時間多於半秒,將在這裏寫入一條記錄。
日誌默認級別是INFO,將會寫入全部嚴重級別是INFO或更高的事件。服務器

3. 調整JVM設置

做爲Java的應用程序,ES在一個JVM中運行。JVM和物理機器類似,擁有本身的內存。JVM有其本身的配置,而其最重要的一點是有多少內存可使用。選擇正確的內存設置對於ES的性能和穩定性而言很是重要。
ES使用的大部份內存稱爲 堆(heap)。默認的設置讓ES爲堆分配了256MB的初始內存,而後最多擴展到1GB。若是搜索和索引操做須要多於1GB的內存,那些操做將會失敗,並且日誌中會出現超出內存(out-of-memory)錯誤。反之,若是在只有256MB內存的設備上運行ES,默認的設置可能就分配了太多的內存。
爲了修改默認的值,可使用ES_HEAP_SIZE環境變量。以下
vim bin/elasticsearch.in.sh
在#!/bin/sh後面加入ES_HEAP_SIZE=100Melasticsearch

實際生產中分配多少內存
若是在服務器上只運行ES,剛開始將ES_HEAP_SIZE設置爲內存總量的一半。若是其餘的應用程序須要不少的內存,嘗試將這個值設置的更小。另外一半內存用於操做系統的緩存,能夠更快速地訪問所存儲的數據。性能

相關文章
相關標籤/搜索