欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ElasticSearch5的elasticsearch.yml配置

程序员文章站 2022-06-30 14:40:24
ElasticSearch5的elasticsearch.yml配置 注意 elasticsearch.yml中的配置,冒号和后面配置值之间有空格 cluster.name: my-application 指定集群的名称,同一个集群的节点务必设置同一名称 node.name: node-1 指定节点 ......

ElasticSearch5的elasticsearch.yml配置

注意 elasticsearch.yml中的配置,冒号和后面配置值之间有空格

 

cluster.name: my-application

指定集群的名称,同一个集群的节点务必设置同一名称

 

node.name: node-1 

指定节点的名称,同一集群的节点名称不能相同

 

node.attr.rack: r1

指定节点的部落属性,一个比集群更大的范围

 

node.master: true

指定是否为主节点。该属性可不指定,节点之间自主选举

 

node.master: true

指定是否为主节点。该属性可不指定,节点之间自主选举

 

node.data: true

指定是否为数据节点,存储数据

 

path.data: /path/to/data

指定es的数据存储目录,默认存储在es_home/data目录下

 

path.logs: /path/to/logs 

指定es的日志存储目录,默认存储在es_home/logs目录下

 

bootstrap.memory_lock: true

启动后锁定物理内存,避免es使用swap交换分区。提升ES性能

确保ES_HEAP_SIZE参数设置为系统可用内存的一半左右

 

network.host: 192.168.0.1

为es设置绑定ip,默认是127.0.0.1,也就是默认只能通过127.0.0.1 或者localhost才能访问,生产环境修改成该机器固定IP

 

http.port: 9200

对外的端口,默认9200。建议重新设置,提高安全性。

 

transport.tcp.port: 9300

设置TCP传输端口,这个端口非常重要。

1.Discovery部分的设置,集群内节点发现的心跳通信走的就是这个端口

2.集群节点发现后,节点之间传输数据也是走这个TCP端口

3.官方提供的ES JAVA API也是通过这个端口传输数据的。

 

discovery.zen.ping.unicast.hosts: ["192.168.2.1:9300", "192.168.2.2:9300", "192.168.2.2:9300"]

unicast:单播协议选举master。此处配置想成为master的所有节点,ES集群将从这些节点中选举出来master

 

discovery.zen.minimum_master_nodes: 3

配置原则:(集群总节点数量/2)向下取整+1,也就是集群不能过半数的节点同时挂掉,防止集群脑裂现象

 

gateway.recover_after_nodes: 3

集群中的N个节点启动后,才允许进行数据恢复处理。

 

action.destructive_requires_name:true

生产环境中,务必配置为true,含义是删除索引必须要索引名称,不能使用delete_all_indices