path.data
指定Elasticsearch数据保存路径
path.data: /var/data/elasticsearch
数据路径可以指定多个,所有路径都会被用来保存数据,然而单碎片的数据会被保存在一个路径下面。
path:
data:
- /mnt/elasticsearch_1
- /mnt/elasticsearch_2
- /mnt/elasticsearch_3
path.logs
指定Elasticsearch日志路径
path.logs: /var/log/elasticsearch
cluster.name
指定所属集群名。
一个节点与具有相同集群名称的节点组成一个集群。
cluster.name: mycluster
node.name
指定本服务节点名
node.name: mynode
指定本机器的host为节点名,默认Elasticsearch会给每个node一个uuid作为唯一标识,手动指定节点名的话更便于操作引用。
node.name: ${HOSTNAME}
bootstrap.memory_lock
启动内存锁定
jvm状态是节点的健康的重要指标。要随时保持jvm活跃状态,而非被挤出内存到硬盘。Elasticsearch提供的解决方案是设置启动内存锁定
bootstrap.memory_lock: true
network.host
指定Elasticsearch服务ip,使用这个服务节点的地方都会用到这个地址。
默认Elasticsearch配置为本地回环地址127.0.0.1或[::1];产品环境中为了和其他节点或者服务通信,需要将此配置改为本机ip。
除了配置具体ip外,还可以配置为特定关键字(_local_, _site_, _global_ and modifiers like :ip4 :ip6)。
如果自定义配置,Elasticsearch会认为用户从生产模式变更到产品模式,从而改变启动的检查模式(从warning提升到exception级别)。
discovery.zen.ping.unicast.hosts
配置单播发现,实现自动集群。Elasticsearch自动选择绑定可用的地址,并扫描9300-9305之间端口去尝试连接其他节点。
为实现单播发现,需要提供可用地址列表。
discovery.zen.ping.unicast.hosts:
- 192.168.1.10:9300
- 192.168.1.11
- seeds.mydomain.com
不指定端口配置transport.profiles.default.port,则使用transport.tcp.port默认端口。
域名可以解决多个ip位置。
discovery.zen.minimum_master_nodes
指定主节点数。如果集群中未指定改配置,在网络隔离是可能会导致集群分裂,从而发生数据丢失。
主节点数计算公式
(master_eligible_nodes / 2) + 1
配置实例
discovery.zen.minimum_master_nodes: 2