重要配置介绍
Path settings
索引文件路径、日志路径
path:
data: /var/data/elasticsearch
logs: /var/log/elasticsearch
Cluster name setting
不同节点通过分享同一个集群名字,加入集群
cluster.name: logging-prod
Node name setting
通过配置不同的节点名称,标志不同的实例
node.name: prod-data-2
Network host setting
默认ES只绑定本地回环地址127.0.0.1 and [::1],如果要被其他机器发现,可以绑定某个ip地址
network.host: 192.168.1.10
Discovery and cluster formatting setting
配置两个重要的参数,节点之间可以互相发现并且选择一个主节点
discovery.seed_hosts
默认不需要任何配置,es会自动绑定本地回环地址,扫描端口号9300 - 9305去连接运行在本地服务器上的其它节点。
当需要和其它服务器上的节点组成集群时,需要用discovery.seed_hosts配置,值可以是数组或者YAML sequence,IP地址或hostname都可以。
discovery.seed_hosts:
- 192.168.1.10:9300
- 192.168.1.11 ①
- seeds.mydomain.com ②
- [0:0:0:0:0:ffff:c0a8:10c]:9301 ③
① 端口号是可选的,默认是9300
② 如果一个hostname能解析出多个ip地址,节点将会在所有ip地址上查找其它节点
③ IPv6地址必须在方括号内
节点可以通过transport.port配置TCP端口
cluster.initial_master_nodes
当第一次启动es集群时,集群cluster bootstrapping将确定在第一次选举中计数符合主资格的节点集,然后存储到数据文件,在集群重启或加新节点时使用。
由于自动引导本身就不安全,所以在生产环境要明确的指定master-eligible节点。
集群第一次启动成功后,移除此配置,集群重启或加入新节点时不要应用此配置
cluster.initial_master_nodes:
- master-node-a #node-name值
- master-node-b
- master-node-c
Heap size settings
默认,es会根据节点角色和总内存自动设置堆大小,生产环境推荐此配置。自动设置堆大小只有内置jdk,如果指定jdk需要jdk14及以后版本