配置项作用 #
path.data 配置项指定 Easysearch 存储数据文件的目录路径。数据文件包括索引数据、分片数据、事务日志等所有持久化数据。
配置项类型 #
该配置项为静态配置,需要在启动时设置,修改后需要重启节点才能生效。
默认值 #
$ES_HOME/data(Easysearch 安装目录下的 data 文件夹)
是否必需 #
可选配置项(有默认值,但生产环境强烈建议配置)
配置格式 #
# 单个路径
path.data: /var/lib/easysearch
# 多个路径(数组)
path.data:
- /mnt/disk1/easysearch
- /mnt/disk2/easysearch
- /mnt/disk3/easysearch
数据目录内容 #
path.data 目录下的主要文件和文件夹:
path.data/
├── nodes/
│ └── 0/ # 节点 ID
│ ├── indices/ # 索引数据
│ │ └── [index_uuid]/
│ │ └── [shard_id]/
│ │ ├── index/ # 分片索引文件
│ │ ├── translog/ # 事务日志
│ │ └── state/ # 分片状态
│ └── _state/ # 节点状态
└── [其他数据文件]
使用示例 #
单磁盘部署:
path.data: /data/easysearch
多磁盘部署(推荐):
path.data:
- /mnt/disk1/easysearch
- /mnt/disk2/easysearch
- /mnt/disk3/easysearch
不同操作系统:
# Linux/Mac
path.data: /var/lib/easysearch
# Windows
path.data: "C:\\ProgramData\\Easysearch\\data"
# Docker 挂载卷
path.data: /usr/share/easysearch/data
多路径配置优势 #
使用多个数据目录可以带来以下好处:
- 提高存储容量:利用多个磁盘的存储空间
- 提升性能:并行读写多个磁盘
- 提高可用性:单个磁盘故障不影响其他分片
- 负载均衡:分片数据自动分布到各路径
推荐设置建议 #
生产环境建议:使用多个独立磁盘
| 场景 | 推荐配置 | 说明 |
|---|---|---|
| 小型部署 | 单路径 | 简化配置 |
| 中型部署 | 2-3 个路径 | 提高性能和容量 |
| 大型部署 | 3-6 个路径 | 最大化性能和可用性 |
多路径最佳实践 #
- 独立磁盘:每个路径应位于独立的物理磁盘
- 相同容量:各路径磁盘容量应相近
- 相同性能:各路径磁盘性能应相近
- 避免共享:不要使用同一磁盘的不同分区
- 权限一致:确保各路径权限正确配置
存储空间规划 #
最低要求:
- 开发/测试:至少 10GB 可用空间
- 生产环境:至少 100GB 可用空间
推荐容量:
根据数据量估算:
数据大小 × 1.5(索引开销)× 2(操作空间)= 所需容量
示例:
- 100GB 原始数据 → 约 300GB 存储空间
- 1TB 原始数据 → 约 3TB 存储空间
权限配置 #
确保 Easysearch 进程对数据目录有正确权限:
# 创建数据目录
sudo mkdir -p /data/easysearch
# 设置所有权
sudo chown -R easysearch:easysearch /data/easysearch
# 设置权限
sudo chmod 750 /data/easysearch
Docker 部署 #
# Docker Compose
version: '3'
services:
easysearch:
image: infinilabs/easysearch:latest
volumes:
- /mnt/disk1/easysearch:/usr/share/easysearch/data
ports:
- "9200:9200"
查看数据路径 #
# 通过 API 查看
GET /_nodes/settings?filter_path=**.path
# 输出示例
{
"nodes": {
"node_id": {
"settings": {
"path": {
"data": ["/data/easysearch"]
}
}
}
}
}
磁盘空间管理 #
监控磁盘使用:
# 查看磁盘使用情况
GET /_cat/allocation?v&h=disk.used_percent
# 查看节点磁盘信息
GET /_nodes/stats/fs
磁盘水位线配置:
# 低水位线(85%)
cluster.routing.allocation.disk.watermark.low: 85%
# 高水位线(90%)
cluster.routing.allocation.disk.watermark.high: 90%
# 洪水阶段水位线(95%)
cluster.routing.allocation.disk.watermark.flood_stage: 95%
常见问题 #
问题 1:磁盘空间不足
Disk usage threshold exceeded
解决方案:
- 清理旧数据
- 扩容磁盘
- 调整磁盘水位线配置
- 删除不需要的索引
问题 2:权限问题
AccessDeniedException[/data/easysearch]
解决方案:
- 检查目录权限
- 确认运行用户身份
- 修正目录所有权
问题 3:多路径配置无效
确保:
- 各路径位于独立磁盘
- 各路径权限一致
- 路径格式正确
相关配置项 #
| 配置项 | 作用 | 默认值 |
|---|---|---|
path.home | Easysearch 安装目录 | 启动路径 |
path.logs | 日志文件路径 | $ES_HOME/logs |
path.repo | 快照仓库路径 | - |
path.shared_data | 共享数据路径 | - |
安全建议 #
- 独立磁盘:使用专用磁盘存储数据
- 定期备份:配置快照仓库定期备份
- 监控空间:监控磁盘使用情况
- 预留空间:保持至少 20% 可用空间
- 权限控制:限制数据目录访问权限
注意事项 #
- 静态配置:修改数据路径需要重启节点
- 数据迁移:修改路径后需要迁移现有数据
- 备份优先:修改配置前务必备份数据
- 路径检查:确保路径存在且权限正确
- 多路径要求:使用多路径时确保各磁盘独立





