Elasticsearch 本身附带了许多默认的设置,我们只需要进行稍微配置即可运行Elasticsearch.而且大多数的配置是可以被更改的通过 Cluster Update Settings API.
配置文件说明
Elasticsearch 包含两个配置文件:
elasticsearch.yml -- 配置elasticsearch
log4j2.properties -- 配置elasticsearch log
在启动Elasticsearch 时可以改变 配置文件的加载位置:
./bin/elasticsearch-Epath.conf=/path/to/my/config/
配置文件格式
配置文件是采用YAML格式,这儿用改变 data 和log存储路径的配置来进行说明:
path:
data:/var/lib/elasticsearchlogs:/var/log/elasticsearch
你也可以按照一下方式设置:
path.data:/var/lib/elasticsearch
path.logs:/var/log/elasticsearch
环境变量替换
配置文件支持环境变量的替换,可以在文件中定义变量,并用 ${.....}这种方式来进行引用。
node.name:${HOSTNAME}
network.host:${ES_NETWORK_HOST}
提示设置
在前台启动时,可以采用提示输入变量的方式来进行参数的设置,可以采用如下方式 ${prompt.text}or${prompt.secret} 如:
node:name:
${prompt.text}
当你启动时会提醒你输入 node.name的名字,如下:
Entervaluefor[node.name]:
注:此种方式只能进行前台启动。
设置默认设置
./bin/elasticsearch -Edefault.node.name=My_Node
node.name的值将会是 My_Node ,除非是在命令行使用 es.node.name或者 在配置文件中 修改 node.name 进行更改。
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