elasticsearch.yml配置说明
- 此配置说明来源于互联网,在实际使用时也有自己增加的一些配置项说明,可以参考借鉴,可用于配置优化
- 注意:许多配置项实际在ELK*X中使用时,会发生错误,配置会失败,请小心使用
Cluster集群
- 集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的,外部是不需要知道
- ELK一个重要的概念就是去中心化,对于集群外部来说,ELK集群是一个整体,你与任何一个节点的通信,效果都是一样的
- cluster.name: elasticsearch
cluster.name用于指定集群名称,同一网段中elasticsearch会自动的找到具有相同cluster.name的集群
Node节点
- ELK集群是由各个节点结成
- node.name: node1
node.name用于指定节点名称,同一集群中的节点名称不能重复 - node.master: true
node.master用于指定节点是否可以竟争主节点,默认集群中的第一台机器为master,如果这台机器停止就会重新选举master,默认为true - node.data: true
node.data用于指定节点是否存储数据,默认为true - 结合master和data配置,可以得出几种配置来优化
默认配置:节点即可以竟争主节点也存储数据,这样对于一个主节点的压力会增大,配置形式如下:
node.master: true
node.data: true
数据存储:节点只用于数据存储,不竟争主节点,可作为负载器,配置形式如下:
node.master: false
node.data: true
节点协调:节点只用于竟争主节点,不存储数据,保有空闲资源,可作为协调器
node.master: true
node.data: false
数据搜索:节点不存储数据,也不竟争主节点,可做为一个搜索器,从节点中获取数据,生成搜索结果等
node.master: false
node.data: false - 其它配置:一般保持默认,具体意义见官网
node.rack: rack314
node.max_local_storage_nodes: 1
Index索引
- 用于为数据建立检索索引,可快速检索数据
- index.number_of_shards: 5
设置索引的分片数,默认为5。分片的数量需要根据机器的数量与性能调整,合理分片可最大化利用机器。建议一个节点平均的分片数在3个内 - 注意: number_of_shards只在索引创建时一次生成,后期不可以修改
- index.number_of_replicas: 1
设置索引的副本数,默认为1。副本主要用于数据冗余,可在丢失节点的情况下保证数据健全。这个值是可以通过接口修改
Indices条目
- indices.query.bool.max_clause_count: 10240
indices.query.bool.max_clause_count用于设置请求bool条件的最大条目数量,默认是1024。如果请求的bool条件条目数量大于此值时将不给查询
Paths路径
- 用于指定ELK数据与日志文件存放路径
- path.conf: /path/conf
path.conf用于指定ELK配置文件路径,一般保持默认,除非你改变了配置文件的路径 - path.data: /path/data
path.data用于指定ELK数据存放位置。也可以指定多个位置,用逗号分隔,如:/path/data1,/path/data2 - path.work: /path/work
path.work用于指定临时文件存放路径,一般保持默认 - path.logs: /path/logs
path.logs用于指定日志文件存放路径 - path.plugins: /path/plugins
path.plugins用于存放ELK插件目录,一般保持默认,除非你改变了插件的路径
Plugin插件
- 用于插件加载
- plugin.mandatory: mapper-attachments,lang-groovy
plugin.mandatory设置插件作为启动条件,如果一下插件没有安装,则该节点服务不会启动
Memory内存
- bootstrap.mlockall: true
bootstrap.mlockall用于锁定内存,同时也要允许elasticsearch的进程可以锁住内存,linux下可以通过 ulimit -l unlimited 命令
当JVM开始写入交换空间时(swapping)ElasticSearch性能会低下,你应该保证它不会写入交换空间 - jvm内存配置: ELK是基于JVM的,所以配置好JVM的内存属性对ELK的性能有会有帮助。
在ELK*X的配置文件中有一个jvm.options的配置文件,用于配置ELK的JVM内存和GC,JVM的主要两个内存配置属性:-Xms和-Xmx
-Xmx: 最大堆大小
-Xms: 初始堆大小
注意:这两个值尽可能设置为一样,避免频繁申请内存
其它配置优化:见