Elasticsearch配置文件能夠發現elasticsearch/config文件夾下。在這個文件夾中有兩個文件,一個是Elasticsearch配置不一樣的模塊的配置文件elasticsearch.yml ,另外一個是Elasticsearch日誌的配置文件logging.yml。默認配置文件的格式爲YML。
java
Elasticsearch提供了多種方式進行設置,在系統內部,都使用命名空間來表示這些設置,根據這些命名空間,系統能夠很容易的擴展到其餘格式。好比咱們設置節點名稱:node
一、yml 格式爲:node.name: node-1json
二、JSON格式爲:只須要把elasticsearch.yml名修改爲elasticsearch.json
bootstrap
配置的方式爲:app
{ "node" : { "name" : "node-1" } }
三、經過Elasticsearch命令的參數來設置配置信息。例如:elasticsearch
elasticsearch -Des.node.name=node-1ui
四、elasticsearch還能夠經過交互式方式進行設置,經過${prompt.text}或者${prompt.secret} 來指定,${prompt.secret} 表示在終端中隱藏輸入的值,${prompt.text}表示在終端中顯示輸入的值,例如:spa
node.name: ${prompt.text}日誌
在Elasticsearch命令執行時,將提示您輸入的實際值,例以下面的提示:code
Enter value for [node.name]:
注意:當Elasticsearch做爲服務或者在後臺啓動的時候,這兩個參數則不起做用。
集羣名稱:
cluster.name: my-application
確保在不一樣的環境中羣集的名稱不重複,不然,節點可能會鏈接到錯誤的羣集上。
節點名稱:
node.name: node-1
默認狀況下,當節點啓動時Elasticsearch將隨機在一份3000個名字的列表中隨機指定一個。若是機器上只運行一個集羣Elasticsearch節點,能夠用$ {HOSTNAME}設置節點的名稱爲主機名。
節點描述:
node.rack: r1
索引存儲位置:
path.data: /path/to/data
日誌存儲位置:
path.logs: /path/to/logs
內存分配模式,參見上篇文章:
bootstrap.mlockall: true
綁定的網卡IP:
network.host: 192.168.0.1
http協議端口:
http.port: 9200
開始發現新節點的IP地址:
discovery.zen.ping.unicast.hosts: ["host1", "host2"]
最多發現節點的個數:
discovery.zen.minimum_master_nodes: 3
當重啓集羣節點後最少啓動N個節點後開始作恢復:
gateway.recover_after_nodes: 3
在一臺機器上最多啓動的節點數:
node.max_local_storage_nodes: 1
當刪除一個索引的時候,須要指定具體索引的名稱:
action.destructive_requires_name: true
本文由賽克藍德(secisland)原創,轉載請標明做者和出處。
在集羣中建立的索引能夠提供每一個索引本身的設置。例如,下面建立一個索引是基於內存的存儲而不是基於一個默認的文件系統(格式能夠是YAML或JSON):
請求:PUT http://localhost:9200/kimchy
參數: index:refresh_interval: 5s
這個索引參數的設置能夠設置在節點上,例如,在elasticsearch.yml文件中能夠設置:
index.refresh_interval: 5s
這意味着在該節點建立的全部索引則是存儲在內存中的。除非在建索引的時候顯示的指定存儲位置。
固然也能夠在啓動elasticsearch的時候用參數指定:
elasticsearch -Des.index.refresh_interval=5s
Elasticsearch內部使用log4j記錄系統日誌,它試圖經過使用YAML配置方式來簡化log4j的配置,配置文件位置爲elasticsearch/config/ logging.yml。JSON格式和鍵值對的格式也是支持的。能夠加載多個配置文件,在啓動Elasticsearch後系統自動合併多個配置文件。支持不一樣的後綴格式,例如: (.yml, .yaml, .json or .properties)。
記錄器部分包含java包和相應的日誌級別,在配置裏能夠省略org.elasticsearch前綴。appender部分包含日誌描述信息。更多內容請參見log4j。
因爲日誌比較重要,正常狀況下不要禁止日誌的產生,若是感受日誌過多,能夠提升日誌的級別。系統日誌會每日生成一個新的文件。當遇到問題的時候,首先要檢查一下日誌文件,看看是否有出錯的信息。
賽克藍德(secisland)後續會逐步對Elasticsearch的最新版本的各項功能進行分析,近請期待。