Elasticsearch 本身附帶了許多默認(rèn)的設(shè)置,我們只需要進(jìn)行稍微配置即可運(yùn)行Elasticsearch.而且大多數(shù)的配置是可以被更改的通過(guò)?Cluster Update Settings API.
配置文件說(shuō)明
Elasticsearch 包含兩個(gè)配置文件:
elasticsearch.yml ?-- 配置elasticsearch
log4j2.properties ?-- 配置elasticsearch log
在啟動(dòng)Elasticsearch 時(shí)可以改變 配置文件的加載位置:
./bin/elasticsearch-Epath.conf=/path/to/my/config/
配置文件格式
配置文件是采用YAML格式汤功,這兒用改變 data 和log存儲(chǔ)路徑的配置來(lái)進(jìn)行說(shuō)明:
path:
? ? ? ?data:/var/lib/elasticsearch? ? ? ?logs:/var/log/elasticsearch
你也可以按照一下方式設(shè)置:
path.data:/var/lib/elasticsearch
path.logs:/var/log/elasticsearch
環(huán)境變量替換
配置文件支持環(huán)境變量的替換宣肚,可以在文件中定義變量,并用 ${.....}這種方式來(lái)進(jìn)行引用屿良。
node.name:${HOSTNAME}
network.host:${ES_NETWORK_HOST}
提示設(shè)置
在前臺(tái)啟動(dòng)時(shí)圈澈,可以采用提示輸入變量的方式來(lái)進(jìn)行參數(shù)的設(shè)置,可以采用如下方式 ${prompt.text}or${prompt.secret} ?如:
node:name:
? ? ? ? ? ? ? ? ? ${prompt.text}
當(dāng)你啟動(dòng)時(shí)會(huì)提醒你輸入 node.name的名字尘惧,如下:
Entervaluefor[node.name]:
注:此種方式只能進(jìn)行前臺(tái)啟動(dòng)康栈。
設(shè)置默認(rèn)設(shè)置
./bin/elasticsearch ?-Edefault.node.name=My_Node
node.name的值將會(huì)是 My_Node ,除非是在命令行使用 es.node.name或者 在配置文件中 修改 node.name 進(jìn)行更改喷橙。
Logging配置
appender.rolling.type = RollingFile ??
appender.rolling.name = rolling
appender.rolling.fileName = ${sys:es.logs}.log
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = [%d{ISO8601}][%-5p][%-25c] %.10000m%n
appender.rolling.filePattern = ${sys:es.logs}-%d{yyyy-MM-dd}.log
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 1
appender.rolling.policies.time.modulate = true
官方地址:www.elastic.co/guide/en/elasticsearch/reference/current/settings.html