path.data
Elasticsearch 将您索引到索引和数据流的数据写入data目录。Elasticsearch 编写自己的应用程序日志,其中包含有关群集运行状况和操作的信息。logs目录。
适用于 macOS.tar.gz, Linux.tar.gz, 和 Windows.zip设施,data和logs是子目录ES_HOME升级期间的风险删除。
在生产中,我们强烈建议您设置path.data和path.logs在elasticsearch.yml到以外的地点ES_HOME默认。
支持path.data和path.logs值因平台而异:
Linux 和 macOS 的安装支持 Unix 风格的路径:
path:
data: /var/data/elasticsearch
logs: /var/log/elasticsearch
w 警告
不要修改数据目录中的任何内容或运行可能干扰其内容的进程。如果 Elasticsearch 之外的东西修改了数据目录的内容,那么 Elasticsearch 可能会失败,报告损坏或其他数据不一致,或者在默默地丢失了一些数据后,可能看起来正常工作。不要尝试获取数据目录的文件系统备份;没有支持的方法来恢复这样的备份。相反,使用 Snapshot 和还原以安全地进行备份。不要在数据目录上运行病毒扫描器。病毒扫描器可以阻止Elasticsearch正确工作,并可能修改数据目录的内容。数据目录不包含可执行文件,因此病毒扫描只会发现误报。
多个数据路径
w 警告
7.13.0的弃用。
如果需要,您可以在中指定多个路径path.data. .Elasticsearch 将节点的数据存储在所有提供的路径上,但将每个分片的数据保留在同一路径上。
Elasticsearch 不能平衡节点数据路径上的分片。单路径中的高磁盘使用率可能会触发整个节点的高磁盘使用水印。如果触发,Elasticsearch 不会向节点添加分片,即使节点的其他路径有可用的磁盘空间。如果您需要额外的磁盘空间,我们建议您添加新节点而不是额外的数据路径。
类Unix系统
Linux 和 macOS 安装支持多个 Unix 风格的路径path.data:
path:
data:
- /mnt/elasticsearch_1
- /mnt/elasticsearch_2
- /mnt/elasticsearch_3
从多个数据路径迁移
对多个数据路径的支持在7.13中被弃用,并将在未来的版本中删除。
作为多种数据路径的替代方案,您可以创建一个文件系统,该文件系统具有硬件虚拟化层(如RAID)或Linux或Windows上的存储空间上的逻辑卷管理器(LVM)等软件虚拟化层。如果您希望在单个计算机上使用多个数据路径,则必须为每个数据路径运行一个节点。
如果您目前在高可用性群集中使用多个数据路径,highly available cluster则可以迁移到使用每个节点的单个路径的设置,而不会停机,rolling restart使用类似于滚动重新启动的过程:依次关闭每个节点,并将其替换为每个节点配置为使用单个数据路径的一个或多个节点。更详细地说,对于当前具有多个数据路径的每个节点,您应该遵循以下过程。原则上,您可以在滚动升级到 8.0 期间执行此迁移,但我们建议在开始升级之前迁移到单数据路径设置。
step 1.创建快照,以保护您的数据,以防发生灾难。
step 2.可选地,allocation filter使用分配过滤器将数据从目标节点迁移出去:
PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.exclude._name": "target-node-name"
}
}
您可以使用 cat assocument API 来跟踪此数据迁移的进度。如果某些分片不迁移,则群集分配解释 API 将帮助您确定原因。
step 3.rolling restart process按照滚动重启过程中的步骤进行,包括关闭目标节点。
step 4.确保您的集群健康yellow或green,因此有一个分配到集群中至少一个其他节点的每个分片的副本。
step 5.如果适用,请删除前面步骤中应用的分配过滤器。
PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.exclude._name": null
}
}
step 6.通过删除其数据路径的内容来丢弃被停止节点所持有的数据。
step 7.重新配置您的存储。例如,使用 LVM 或 Storage Spaces 将磁盘组合到单个文件系统中。确保重新配置的存储有足够的空间来保存数据。
step 8.通过调整节点重新配置节点path.dataset in 其elasticsearch.yml档案。如果需要,安装更多的节点,每个节点都有自己的path.data设置指向单独的数据路径。
step 9.启动新节点,rolling restart process然后按照滚动重新启动过程的其余部分进行操作。
step 10.确保您的集群健康green让每个碎片都被分配。
您也可以向群集添加一些单数据路径节点,allocation filters使用分配过滤器将所有数据迁移到这些新节点,然后从群集中删除旧节点。这种方法将暂时使群集的大小增加一倍,因此只有当您有能力像这样扩展群集时,它才会起作用。
如果您当前使用多个数据路径,但群集不高可用,则可以通过拍摄快照,创建具有所需配置的新群集并将快照还原到其中,从而迁移到非废弃配置。




