当前位置: 首页 > article >正文

【Elasticsearch】Elasticsearch 的`path.settings`是用于配置 Elasticsearch 数据和日志存储路径的重要设置

Elasticsearch 的`path.settings`是用于配置 Elasticsearch 数据和日志存储路径的重要设置,这些路径在`elasticsearch.yml`配置文件中定义。以下是关于 Elasticsearch 的路径设置(`path.data`和`path.logs`)以及快照存储库配置的详细说明:

1.`path.data`配置

`path.data`是 Elasticsearch 用于存储索引数据和集群状态的目录。默认情况下,Elasticsearch 将数据存储在`$ES_HOME/data`目录下。

多路径配置

在 7.13 版本之前,Elasticsearch 支持在`path.data`中配置多个路径,允许将数据分散存储到多个磁盘上。例如:

```yaml

path.data: /mnt/disk1,/mnt/disk2,/mnt/disk3

```

这种配置类似于软件级的 RAID-0,可以提高 I/O 性能。然而,Elasticsearch 不会在多个路径之间自动平衡分片的存储,且单个路径的高磁盘使用率可能触发整个节点的高磁盘水位线。

官方建议

从 7.13 版本开始,多路径支持已被弃用,官方建议使用单路径配置,并通过添加新节点来扩展存储容量。

2.`path.logs`配置

`path.logs`是 Elasticsearch 用于存储日志文件的目录。默认情况下,日志存储在`$ES_HOME/logs`目录下。您可以根据需要修改此路径,例如:

```yaml

path.logs: /var/log/elasticsearch

```

3.快照存储库配置

快照存储库是用于存储快照数据的路径或存储服务。在创建快照之前,必须先定义一个存储库。

配置存储库

在`elasticsearch.yml`文件中,通过`path.repo`指定快照存储库的路径。例如:

```yaml

path.repo: ["/data/es_snapshot"]

```

然后,通过 API 创建存储库:

```bash

PUT /_snapshot/my_backup

{

  "type": "fs",

  "settings": {

    "location": "/data/es_snapshot"

  }

}

```

• `type`:存储库类型,`fs`表示本地文件系统。

• `location`:快照数据的存储路径。

创建快照

定义存储库后,可以通过以下命令创建快照:

```bash

PUT /_snapshot/my_backup/snapshot_1

{

  "indices": "index_1,index_2",

  "ignore_unavailable": true,

  "include_global_state": false

}

```

4.注意事项

• 数据安全性:多路径配置类似于软件级 RAID-0,没有数据冗余。如果其中一个磁盘故障,存储在该磁盘上的分片数据将丢失。

• 快照存储库权限:确保 Elasticsearch 有权限访问`path.repo`指定的路径。

• 滚动重启:修改`elasticsearch.yml`文件后,需要滚动重启集群以使配置生效。

通过合理配置`path.data`和`path.logs`,以及设置快照存储库,可以优化 Elasticsearch 的数据存储和备份策略,提高集群的性能和可靠性。Elasticsearch 的  path.settings  是用于配置 Elasticsearch 数据和日志存储路径的重要设置。这些设置在  elasticsearch.yml  配置文件中定义,用于指定 Elasticsearch 数据和日志文件的存储位置。以下是关于 Elasticsearch  path.settings  的详细说明:1. 默认路径在 Elasticsearch 的默认安装中, data  和  logs  目录通常位于  $ES_HOME  目录下。 $ES_HOME  是 Elasticsearch 的安装根目录。例如: data  目录:存储 Elasticsearch 的索引数据和集群状态信息。 logs  目录:存储应用程序日志,包括集群健康信息、操作日志等。然而,这种默认设置在生产环境中并不推荐,因为  $ES_HOME  目录中的文件可能会在升级过程中被覆盖或删除。2. 推荐的路径设置为了提高数据安全性和灵活性,Elasticsearch 官方建议在生产环境中将  path.data  和  path.logs  配置为  $ES_HOME  之外的路径。例如:yaml复制path:
  data: /var/data/elasticsearch
  logs: /var/log/elasticsearch
 path.data :指定存储 Elasticsearch 数据的目录。 path.logs :指定存储日志文件的目录。通过将数据和日志存储在独立路径中,可以避免在升级或重新安装 Elasticsearch 时丢失数据。3. 支持的路径格式Elasticsearch 支持的路径格式因操作系统而异:Linux 和 macOS:支持 Unix 风格的路径,例如  /var/data/elasticsearch 。Windows:支持 Windows 风格的路径,例如  C:\data\elasticsearch 。4. 多路径支持(已弃用)在早期版本中,Elasticsearch 支持为  path.data  配置多个路径,例如:yaml复制path:
  data:
    - /mnt/elasticsearch_1
    - /mnt/elasticsearch_2
    - /mnt/elasticsearch_3
这种配置允许 Elasticsearch 在多个磁盘路径中存储数据,但每个分片的数据会存储在同一个路径中。然而,从 7.13 版本开始,多路径支持已被弃用,并将在未来版本中完全移除。

5. 从多路径迁移到单路径如果您当前使用的是多路径配置,建议迁移到单路径配置。以下是迁移步骤:

1. 创建快照:在迁移之前,创建一个集群快照以保护数据。

2. 使用分配过滤器迁移数据:将数据从目标节点迁移到其他节点。

3. 关闭目标节点:按照滚动重启的步骤关闭目标节点。

4. 确保集群健康状态:确保集群健康状态为  yellow  或  green 。

5. 移除分配过滤器:如果之前设置了分配过滤器,需要移除。

6. 清理数据路径:删除目标节点的数据路径中的内容。

7. 重新配置存储:将多个磁盘合并为一个文件系统(例如使用 LVM 或 RAID)。

8. 重新配置节点:更新  elasticsearch.yml  文件中的  path.data  设置。

9. 启动新节点:启动新配置的节点,并完成滚动重启过程。

10. 验证集群状态:确保集群健康状态为  green ,所有分片已正确分配。

6. 注意事项数据目录的安全性:不要修改数据目录中的内容,也不要运行可能干扰其内容的进程。否则可能会导致数据损坏或丢失。

备份和恢复:不要尝试对数据目录进行文件系统备份。建议使用 Elasticsearch 的快照和恢复功能进行安全备份。

磁盘使用率:Elasticsearch 不会在多个数据路径之间自动平衡磁盘使用率。如果某个路径的磁盘使用率过高,可能会触发整个节点的高磁盘使用率水位线,导致节点拒绝分片分配。

通过合理配置  path.settings ,可以提高 Elasticsearch 的数据安全性和集群的稳定性。在生产环境中,建议始终将数据和日志存储在  $ES_HOME  之外的路径,并避免使用已弃用的多路径配置。


http://www.kler.cn/a/573306.html

相关文章:

  • JVM常用概念之局部变量可达性
  • 大模型为何无法达到AGI?
  • 利用Python爬虫按图搜索1688商品(拍立淘)
  • 【linux 安装mongodb】在redhat9上安装mongodb8出现下载元数据错误
  • 【大模型安全】大模型的技术风险
  • NModbus 连接到Modbus服务器(Modbus TCP)
  • NFC 碰一碰发视频系统技术开发实战:从硬件触发到智能生成的全流程实现
  • B站pwn教程笔记-4
  • Java Web-Filter
  • 面试基础---MySQL 事务隔离级别与 MVCC 深度解析
  • IP地址怎么加密https访问?
  • JAVA毕设项目-基于SSM框架的百色学院创新实践学分认定系统源码+设计文档
  • 毕业项目推荐:基于yolov8/yolov5/yolo11的田间杂草检测识别系统(python+卷积神经网络)
  • Stable Diffusion LoRA 技术详解
  • debian/control 文件中的${misc:Depends}
  • 如何在React中正确处理异步操作?
  • windows 利用nvm 管理node.js 2025最新版
  • 靶场之路-VulnHub-DC-6 nmap提权、kali爆破、shell反连
  • DAViMNet:基于状态空间模型的域自适应目标检测
  • 二、Java-封装playwright UI自动化(根据官网执行步骤,首先封装BrowserFactory枚举类及BrowserManager)