elasticsearch高级配置
title: elasticsearch高级配置
date: 2020-10-16 09:00:39
categories: elk
tags:
- 配置
- elasticsearch
大多数设置可以使用 集群更新API 来更改
Elasticsearch提供了三个主要的配置文件,我们所有的配置都通过这个三个文件:
您应该很少需要更改Java虚拟机(JVM)选项。如果这样做,最可能的更改是设置堆大小。
<font color="501818"> 10. 堆转储路径 </font>
默认情况,配置jvm存储堆栈溢出到data文件夹里,如果该目录不支持则需要修改。
<font color="501818"> 11. GC记录 </font>
默认情况下,Elasticsearch启用GC日志。这些配置在 jvm.options默认位置和默认位置与Elasticsearch日志相 同。默认 配置每64 MB轮换一次日志,最多可占用2 GB的磁盘空间。
某些设置是敏感的,依靠文件系统权限来保护其值是不够的。对于此用例,Elasticsearch提供了一个密钥库和elasticsearch-keystore管理密钥库中设置的工具。
在投入生产之前,必须考虑以下设置:
<font color="501818"> 1.路径设置 </font>
主要是数据和日志路径
对于数据,可以有多个路径如:
data中生成目录形式:elasticsearch/nodes/0/indices/uuid/shard/
<font color="501818"> 2. 群集名称 </font>
这是节点加入集群的唯一方法,默认的是elasticsearch
<font color="501818"> 3. 节点名称 </font>
节点名称有助于区别不同类型(可以使用环境变量如 node.name: ${HOSTNAME} )
<font color="501818"> 4. 网络主机 network.host </font>
一般设置本机ip ,一旦设置为非回环地址,即默认视为生产模式,就需要注意系统配置
一旦配置了类似的网络设置network.host,Elasticsearch就会假定您正在转向生产并将上述警告升级为异常。这些异常将阻止您的Elasticsearch节点启动。这是一项重要的安全措施,可确保您不会因服务器配置错误而丢失数据。
<font color="501818"> 5. 发现设置 </font>
①:如果不指定port,则会使用transport.tcp.port
②:如果是多个ip的主机,则会访问所有解析到的ip
discovery.zen.minimum_master_nodes
最好为 (master_eligible_nodes / 2)+ 1 3个节点的情况设置2个
<font color="501818"> 1. 资源限制: </font>
要将打开文件句柄(ulimit -n)的数量设置为65,536 /etc/security/limits.conf
<font color="501818"> 2. Disable swapping </font>
交换对性能,节点稳定性非常不利,应该不惜一切代价避免。它可能导致垃圾收集持续数分钟而不是毫秒,并且可能导致节点响应缓慢甚至断开与群集的连接。在弹性分布式系统中,让操作系统终止节点更有效。
三种方案:
<font color="501818"> 3. Increase file descriptors </font>
<font color="501818"> 4. Ensure sufficient virtual memory </font>
<font color="501818"> 5. Ensure sufficient threads </font>
<font color="501818"> 6. JVM DNS cache settings </font>
<font color="501818"> 7. Temporary directory not mounted with noexec </font>
<font color="501818"> 8. 临时目录 </font>
Generate a private key and X.509 certificate.
生成节点证书
<font color="blue"> 结论: </font> 开源基础版,无法使用安全功能