配置ES
2020-01-07 本文已影响0人
syp_xp
tips:
- 本文以源码安装为例,默认配置文件位置$ES_HOME/config/elasticsearch.yml
- 可以通过修改环境变量ES_PATH_CONF=/path/to/my/config设置默认位置
命令行配置 -E
./bin/elasticsearch -d -Ecluster.name=my_cluster -Enode.name=node_1
./bin/elasticsearch -p pidfile
主要配置文件
elasticsearch.yml
jvm.options
log4j2.properties
配置文件格式
变量
node.name: ${HOSTNAME}
network.host: ${ES_NETWORK_HOST}
path:
data: /var/lib/elasticsearch
logs: /var/log/elasticsearch
或者
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
keystore配置
对于敏感配置,es提供了keystore进行存储,并提供相关工具来管理
提示:
用户与es启动用户一致
只有部分配置可以从keystore中读取,如果配置了不支持keystore存储的配置项到keystore中,则es启动会失败
所有配置,重启es才会生效
各节点的配置应该保持一致
创建config/elasticsearch.keystorre
bin/elasticsearch-keystore create
列出
bin/elasticsearch-keystore list
从标准输入流添加配置项
cat /file/containing/setting/value | bin/elasticsearch-keystore add --stdin the.setting.name.to.set
从文件添加配置项
bin/elasticsearch-keystore add-file the.setting.name.to.set /path/example-file.json
移除配置项
bin/elasticsearch-keystore remove the.setting.name.to.remove
动态重载,部分reloadable配置项可以不用重启更新生效
POST _nodes/reload_secure_settings
重要配置项
#path.data path.logs
path:
logs: /var/log/elasticsearch
data: /var/data/elasticsearch
#path.data可以设置目录列表
#单个shard的数据会存储为单独的文件,只会在一个路径下存储
path:
data:
- /mnt/elasticsearch_1
- /mnt/elasticsearch_2
- /mnt/elasticsearch_3
#cluster.name ,该配置相同的实例构成集群
cluster.name: logging-prod
#node.name,默认为主机名
node.name: prod-data-2
#network.host
network.host:ip
http.port:port
discovery.seed_hosts #见下
transport.port #节点间通信端口
#集群节点发现和选举master配置
discovery.seed_hosts:
- 192.168.1.10:9300
- 192.168.1.11 #默认会使用transport.port配置的端口
- seeds.mydomain.com #如果域名被解析到多个地址,会尝试到多个ip检测发现
cluster.initial_master_nodes:
- master-node-a # node.name
- master-node-b
- master-node-c