Elasticsearch5.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 此設置在5.0之後就不用了
#node settings must not contain any index level settings
#Since elasticsearch 5.x index level settings can NOT be set on the nodes 
#configuration like the elasticsearch.yaml, in system properties or command line 
#arguments.
#設置默認索引副本個數,默認爲1個副本。副本用來應對不斷攀升的吞吐量以及確保數據的安全性及查詢效率
#index.number_of_replicas: 1 此設置在5.0之後就不用了
#注意:以上兩個參數需要合理分配,一旦索引創建完成後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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章