Elasticsearch配置引數與核心概念

2021-08-14 08:59:10 字數 2096 閱讀 7048

在es根目錄下有乙個config目錄,在此目錄下有兩個檔案分別是elasticsearch.yml和logging.yml。

logging.yml是日誌檔案,es也是使用log4j來記錄日誌的,我在此檔案中配置日誌級別。

elasticsearch.yml是es的基本配置檔案es的引數都在這個檔案中,我們這裡結合此檔案來介紹es的核心概念和引數。

1:集群

node.master: true表示此節點有資格競爭成為主節點。

cluster.name: elasticsearch表示es集群的名稱可以自行更改

discovery.zen.ping.multicast.enabled: false 集群的自動發現機制,false不啟動

discovery.zen.ping.unicast.hosts: ["host1","host2:port"] 告訴從節點主節點的位置,預設是9300埠。

es集群由多個節點組成,其中乙個為主節點其他為從節點。從節點通過競爭來確定哪個是主節點,一般在集群中第乙個啟動的符合條件的就是主節點。主節點負責管理集群狀態包括管理分片和副本的狀態以及節點的增加和刪除。

es集群具有去中心化的概念,我們可以訪問集群中的任何乙個節點來操作整個集群,不管它是主節點還是從節點只要安裝了相關外掛程式就行。

同乙個網段內的es節點會自動互相感知自動組成集群。

自動發現機制

es是基於p2p的系統,當集群啟動後會先通過廣播尋找存在的節點,再通過多播協議進行節點間的通訊進而自動組建es集群,同時也支援節點之間的通訊。

同一網段內節點組建集群,首先啟動自動發現機制另外節點的集群名稱要一致

discovery.zen.ping.multicast.enabled: true

cluster.name: elasticsearch

如果不同網段的節點要組建集群首先各個節點禁用自動發現機制然後給從節點指定主節點的位置,預設是9300埠。

discovery.zen.ping.multicast.enabled: false

discovery.zen.ping.unicast.hosts: ["host1","host2:port"]

檢視集群狀態

瀏覽器:

2:shards分片

index.number_of_shards: 5 分片數

es中索引庫會被拆分成多個分片,各個分片會儲存在不同的節點上以提高集群的儲存能力從而構成分布式的儲存和分布式的查詢。

通過index.number_of_shards引數指定分片數預設是5,分片數一旦指定集群啟動後不能動態的修改。

3:replicas副本

index.number_of_replicas:1副本數,預設為1

當某個節點宕機或被刪除後可以通過副本進行恢復,另外也可以提高查詢效率分流查詢實現負載均衡。分片和其副本不會被儲存與同乙個節點上,如果只有乙個節點則沒有副本。

4:持久化方式

gateway.type:local

索引的持久化方式預設是local本地方式,也可以存放在hdfs中。

/usr/local/elasticsearch-1.4.4/data/elasticsearch/nodes/0/indices/shb01/0

第乙個0表示集群中的節點編號,最後乙個0表示分片。我的節點上一共有0到4,共5個分片。

5:transport

互動方式,es集群與客戶端使用tcp協議互動同時也支援http協議

transport.tcp.port: 9300   節點之間通訊使用此埠

http.port: 9200    http請求使用9200埠

我們在啟動es時可以看到es在監控這兩個節點

6:recovery

資料恢復與重新分布,當有節點加入或退出時es會根據機器的負載對索引分片進行重新分配,掛了的節點在重啟後也會進行恢復。

7:其他引數

node.data: true 為true表示此節點可以用來儲存資料。預設true

http.enabled: false 預設不禁用http訪問

http.max_content_length: 100mb 限制_bulk批處理的最大資料量。

bootstrap.mlockall: true  禁用記憶體互動

elasticsearch配置詳解

elasticsearch的config資料夾裡面有兩個配置檔案 elasticsearch.yml和logging.yml,第乙個是es的基本配置檔案,第二個是日誌配置檔案,es也是使用log4j來記錄日誌的,所以logging.yml裡的設定按普通log4j配置檔案來設定就行了。下面主要講解下e...

elasticsearch配置說明

elasticsearch.yml是elasticsearch主要的配置檔案,所有的配置都在這個檔案裡完成,一般情況下,預設的配置已經可以比較好地執行乙個集群了,但你也可以對其進行微調。在環境變數中的引數可以用來作為配置引數的值,比如配置檔案裡舉的乙個例子為 node.rack 再比如 等。下面對其...

Elasticsearch配置jieba分詞分析器

jieba分詞是中文裡面比較好的分詞器,而當前elasticsearch官方並不支援jieba分詞,但可以通過配置plugins的方式使用jieba分詞器作為es的analyzer。配置環境 mac os 10.12 elasticsearch 5.3.0 jieba 5.3.0 與es版本匹配 t...