栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

11.Elasticsearch的重要配置

11.Elasticsearch的重要配置

Elasticsearch在生产中使用cluster之前必须考虑许多事项:

Path设置Cluster name设置Node name设置Network host设置Discovery设置Heap size设置JVM heap dump path设置GC logging设置Temporary directory设置JVM fatal error log设置Cluster备份 11.1 路径设置

如果正在使用 .zip 或 .tar.gz 归档, data 和 logs 目录在都在 $ES_HOME 下

如果这些比较重要的文件夹保留在默认位置,则 Elasticsearch 升级到新版本时,很有可能被删除

path:
logs: /var/log/elasticsearch
data: /var/data/elasticsearch

RPM 和 Debian 发行版已经为 data 和 logs 使用了自定义路径。path.data 可以设置为多个路径,在这种情况下,所有路径将用于存储数据

属于单个shard的文件将全部存储在同一数据路径上:

path:
  data:
  - /mnt/elasticsearch_1 
  - /mnt/elasticsearch_2 
  - /mnt/elasticsearch_3
11.2 cluster名称

当node与cluster中的所有其他node共享 cluster.name 时,该node就能加入cluster默认名称是 elasticsearch,但可将其更改为描述cluster用途的适当名称

cluster.name: logging-prod

确保不要在不同的环境中重复使用相同的cluster名称,否则最终可能会导致node加入错
误的cluster 11.3 node名称

Elasticsearch 使用 node.name 作为 Elasticsearch 特定 instance 的可读标识符,因此它被包含在许多 API 的响应中它默认机器在 Elasticsearch 启动时的主机名,但可以在 elasticsearch.yml 中更改配置,如下所示:

node.name: prod-data-2
11.4 Network host设置

默认情况下, Elasticsearch 仅绑定回送地址

例如 127.0.0.1 和 [::1]这样足以在服务器上运行单nodecluster 实际上,可以从单node上相同的 $ ES_HOME 位置启动多个node

这对于测试 Elasticsearch 形成cluster的能力很有用,但不建议在生产中使用此配置 为了与其他服务器上的node形成cluster,node将需要绑定到非回送地址

尽管有许多网络设置方式,但通常需要配置的只是 network.host:

network.host: 192.168.1.10

network.host 还可以设置一些特殊值

例如_local_,site,global 以及诸如 :ip4 和 :ip6 11.5 重要的discovery和cluster初始化设置

在投入生产之前,应配置如下2个参数,以便cluster中的node可以彼此发现并选举一个主node:

discovery.seed_hostscluster.initial_master_nodes discovery.seed_hosts

开箱即用,无需任何网络配置,Elasticsearch 将绑定到可用的回送地址,并将扫描 Local 端口9300 至 9305如果要与其他主机上的node组成cluster,则必须设置 discovery.seed_hosts

discovery.seed_hosts:
  - 192.168.1.10:9300
  - 192.168.1.11 
  - seeds.mydomain.com 
  - [0:0:0:0:0:ffff:c0a8:10c]:9301

cluster.initial_master_nodes

重新启动cluster或者有新node加入cluster时,不应使用此设置

discovery.seed_hosts:
  - 192.168.1.10:9300 
  - 192.168.1.11 
  - seeds.mydomain.com
cluster.initial_master_nodes: 
- master-node-a 
- master-node-b 
- master-node-c
11.6 Heap size设置

默认情况下,Elasticsearch 会告诉 JVM 使用最大和最小 1 GB 的堆

Elasticsearch 将通过 [jvm.options]中指定整个堆

Xms(最小堆大小) 和 Xmx(最大堆大小) 设置,应该让这 2 个参数相等 Xmx 和 Xms 设置不应该超过宿主机内存的 50%

Xmx 和 Xms 设置不超过 JVM 用于压缩对象指针(压缩 oops ), 确切的值会有有所不同,但是接近 32G,可以通过在日志中查找验证是否在阈值之下:

[1.9gb], compressed ordinary object pointers [true]

下面是通过 jvm.options 文件设置堆大小的示例:

1. -Xms2g 
2. -Xmx2g

也可以通过环境变量设置堆大小

这可以通过在 jvm.options 文件,并通过 ES_JAVA_OPTS 设置以下值:

将最小和最大堆大小设置为 2 GB将最小和最大堆大小设置为 4000 MB

ES_JAVA_OPTS="-Xms2g -Xmx2g" ./bin/elasticsearch 
ES_JAVA_OPTS="-Xms4000m -Xmx4000m" ./bin/elasticsearch
11.7 VM heap dump 文件路径

Elasticsearch 配置 JVM 的默认配置,将内存不足异常时生成的 heap dump 文件保存到data 目录

当以 RPM 和 Debian 的方式安装时,在 /var/lib/elasticsearch 目录下当以 tar 和 zip 压缩包的方式安装时,data 目录在 Elasticsearch 的根目录下 如果此路径不适合存储 heap dump 文件,应该修改 jvm.options 的配置项 -
XX:HeapDumpPath=…

当指定的是一个目录,那么 JVM 将以正在运行 instance 的 PID 作为 heap dump 的文件名如果指定的是一个文件而不是一个目录,当出现内存不足异常时,必须确保这个文件不存在,否则 heap dump 将会生成失败 11.8 GC logging设置

默认情况下,Elasticsearch 启用 GC 日志这些是在 jvm.options 中配置的,默认为与 Elasticsearch 日志相同的默认位置默认配置每 64 MB 轮换一次日志,最多可消耗 2 GB 磁盘空间 11.9 临时文件

默认情况下,Elasticsearch 启动脚本在系统临时目录下立即创建私有临时目录在某些 Linux 发行版上,如果最近未访问过文件和目录,则系统程序将从 / tmp 中清除文件和目录

如果长时间不使用需要临时目录的功能,这可能会导致在运行时, Elasticsearch 删除私有临时目录如果随后使用需要临时目录的功能,则将导致问题 如果使用.deb 或.rpm 软件包安装 Elasticsearch 并在 systemd 下运行它,则定期清理计划将排除 Elasticsearch 使用的私有临时目录但如果打算长时间在 Linux 上运行.tar.gz 发行版,则应考虑为 Elasticsearch 创建专用的临时目录,该临时目录不在将清除旧文件和目录的路径下

该目录应该设置权限,以便只有运行 Elasticsearch 的用户才能访问它然后在启动 Elasticsearch 之前将 $ ES_TMPDIR 环境变量指向它 11.10 JVM 致命错误日志

默认情况下,Elasticsearch 将 JVM 配置为将致命错误日志写入默认日志目录

在RPM和Debian软件包上,这个目录是/var/log/elasticsearch.在Linux 和 MacOS以及Windows发行版上,该logs 目录位于 Elasticsearch 安装的根目录下 这些是 JVM 在遇到致命错误(例如分段错误)时生成的日志

如果此路径不适合接收日志,则应将参数修改成备用路径 -XX:ErrorFile=… 在 jvm.options 11.11 cluster备份

在灾难中,快照可以防止永久性数据丢失快照生命周期管理是对cluster进行定期备份的最简单方法

大数据视频推荐:
CSDN
大数据语音推荐:
ELK7 stack开发运维
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/774323.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号