1. 程式人生 > >Elasticsearch5.4配置文件重要配置介紹

Elasticsearch5.4配置文件重要配置介紹

配置文件 詳解 elasticsearch 5.4 腦裂

# ---------------------------------- Cluster -----------------------------------
#配置es的集群名稱,默認是elasticsearch,es會自動發現在同一網段下的es,如果在同一網段下有多個集群,就可以用這個屬性來區分不同的集群。
cluster.name: elasticsearch
# ------------------------------------ Node ------------------------------------
#節點名
node.name:es01
#node.master     node.data     描述
#true          true       默認節點,可以為master,也可以存儲數據
#false          true      節點永遠不會成為master,只能保存數據,這種集群的主力
#true          false     該節點僅用作主節點:不存儲任何數據並具有可用資源。 這將是您的集群的協調員
#false          false     成為client node,該節點用作搜索負載平衡器(從節點獲取數據,聚合結果等)相當於給集群加內存
node.master: true
node.data: true
#Ingest Node(提取節點):能執行預處理管道,有自己獨立的任務要執行,類似於 logstash 的功能,不負責數據也不負責集群相關的事務  
#如果你不想這種設置的話,可以修改配置文件為:node.ingest: false
#一般情況下建議在master node和data node上面禁用它,以防止出現問題並保護集群。 而client node是最好的候選者
node.ingest: false
#Tribe Node(部落節點):協調集群與集群之間的節點,該部族節點支持跨集群搜索,並將在彈搜索7.0中刪除
#Coordinating Node(協調節點):每一個節點都是一個潛在的協調節點,且不能被禁用,協調節點最大的作用就是將各個分片裏的數據匯集起來一並返回給客戶端
#因此 ES 的節點需要有足夠的 CPU 和內存去處理協調節點的 gather 階段。
#設置默認索引分片個數,默認為5片。分片數最好為節點數的倍數,最好不好超過三倍
index.number_of_shards: 5
#設置默認索引副本個數,默認為1個副本。副本用來應對不斷攀升的吞吐量以及確保數據的安全性及查詢效率
index.number_of_replicas: 1
#註意:以上兩個參數需要合理分配,一旦索引創建完成後shards(分片數)無法更改,除非重建索引。
#MAX分片數:Max number of nodes = Number of shards * (number of replicas +1);如果你計劃用10個分片和2個分片副本,那麽最大的分片數是30;
#MAX分片數越多,查詢更快,每個分片都是獨立的Lucene索引,更多的分片代表在較小的索引中進行操作。
#分片數(shard)決定了寫操作的效率,MAX分片數決定了讀操作。過多的分片同時也帶了額外的開銷:分發搜索命令到每個分片以及分片結果的合並。
# ----------------------------------- Paths ------------------------------------
#設置索引數據的存儲路徑,默認是es根目錄下的data文件夾,可以設置多個存儲路徑,用逗號隔開。
#例:
#path.data: /path/to/data1,/path/to/data2 
path.data: /path/elasticsearch
#設置日誌文件的存儲路徑,默認是es根目錄下的logs文件夾
path.logs: /var/logs/elasticsearch
# ----------------------------------- Memory -----------------------------------
#鎖定物理內存地址,防止elasticsearch內存被交換出去,也就是避免es使用swap交換分區。
#因為當jvm開始swapping時es的效率會降低,所以要保證它不swap,可以把ES_MIN_MEM 和 ES_MAX_MEM兩個環境變量設置成同一個值,並且保證機器有足夠的內存分配給es。
#同時也要允許elasticsearch的進程可以鎖住內存,linux下可以通過`ulimit -l unlimited`命令
bootstrap.memory_lock: true
# ---------------------------------- Network -----------------------------------
#為es設置ip綁定
network.host: 192.168.0.1
#設置對外服務的http端口,默認為9200
# 註意:在同一個服務器中啟動多個es節點的話,默認監聽的端口號會自動加1:例如:9200,9201,9202...
http.port: 9200
# --------------------------------- Discovery ----------------------------------
# 當啟動新節點時,通過這個ip列表進行節點發現,組建集群
# 默認節點列表:
# 127.0.0.1,表示ipv4的回環地址。
# 註意:如果是發現其他服務器中的es服務,可以不指定端口[默認9300],如果是發現同一個服務器中的es服務,就需要指定端口了。
discovery.zen.ping.unicast.hosts: ["192.168.0.1", "192.168.0.2", "192.168.0.3"]
# 通過配置這個參數來防止集群腦裂現象 (集群總節點數量/2)+1
discovery.zen.minimum_master_nodes: 2
# ---------------------------------- Gateway -----------------------------------
# 一個集群中的N個節點啟動後,才允許進行數據恢復處理,默認是1
gateway.recover_after_nodes: 3
# ---------------------------------- Various -----------------------------------
# 在一臺服務器上禁止啟動多個es服務
# node.max_local_storage_nodes: 1
# 設置是否可以通過正則或者_all刪除或者關閉索引庫,默認true表示必須需要顯式指定索引庫名稱
# 生產環境建議設置為true,刪除索引庫的時候必須顯式指定,否則可能會誤刪索引庫中的索引庫
# action.destructive_requires_name: true

本文出自 “寧靜致遠” 博客,請務必保留此出處http://irow10.blog.51cto.com/2425361/1950509

Elasticsearch5.4配置文件重要配置介紹