配置ES

2020-01-07  本文已影响0人  syp_xp

tips:

  1. 本文以源码安装为例,默认配置文件位置$ES_HOME/config/elasticsearch.yml
  2. 可以通过修改环境变量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





上一篇 下一篇

猜你喜欢

热点阅读