解决 Elasticsearch 启动错误:failed to obtain node locks

1.遇到的问题:

在使用 Elasticsearch 时,可能会遇到以下错误:

java.lang.IllegalStateException: failed to obtain node locks, tried \[path_to_data] with lock id 0; maybe these locations are not writable or multiple nodes were started without increasing node.max_local_storage_nodes (was 1)?

如下面所示:

这个错误通常出现在以下两种情况下:

  1. 数据目录不可写:Elasticsearch 无法获取对数据目录的写权限。

  2. 多个节点冲突 :在同一台机器上启动了多个 Elasticsearch 节点,而没有修改 node.max_local_storage_nodes 配置,导致冲突。

2.错误原因分析

Elasticsearch 在启动时,会在指定的 data 目录下创建一个锁文件,以确保同一目录只能由一个节点实例访问。如果出现了多个节点实例在同一目录下启动的情况,Elasticsearch 会抛出 failed to obtain node locks 错误。这通常发生在以下几种情形:

  • 多个 Elasticsearch 实例试图使用相同的数据目录。

  • 数据目录存在写权限问题,导致无法创建锁文件。

2.解决方法:

1. 确保数据目录可写(这一步的目的主要是为了确实是否有权限,一般解决不了这个问题)

确保 D:\servicescape\elasticsearch-6.8.6\data(这是我自己的根据你自己的来就行) 目录对 Elasticsearch 进程是可写的。可以尝试以下步骤:

  • 检查权限 :右键点击 data 文件夹,选择 属性 ,然后查看 安全 选项卡,确保 Elasticsearch 进程(或者当前用户)对该文件夹有写权限。

  • 清空数据目录:如果你不需要保留现有的数据,可以尝试删除该目录下的所有文件,然后重启 Elasticsearch。

2. 修改 elasticsearch.yml 配置文件

Elasticsearch 配置文件 elasticsearch.yml 中有一个参数 node.max_local_storage_nodes,它决定了同一台机器上最多可以启动多少个 Elasticsearch 节点。如果你希望在同一台机器上启动多个节点,可以通过修改此配置来解决问题。

默认情况下,该参数的值是 1,表示每个数据目录只允许一个节点运行。我们可以通过增加该值来允许多个节点使用相同的数据目录。以下是具体操作步骤:

  1. 找到配置文件 : Elasticsearch 的 elasticsearch.yml 配置文件通常位于安装目录的 config 文件夹下,比如:D:\servicescape\elasticsearch-6.8.6\config\elasticsearch.yml

  2. 修改配置文件 : 打开 elasticsearch.yml 配置文件,找到(或者添加)以下配置项:

node.max_local_storage_nodes: 2

这将允许最多两个节点使用相同的数据目录。如果你希望使用更多节点,可以根据需要调整该值。

3.保存配置文件重启 Elasticsearch

修改配置文件后,保存并关闭文件,然后重新启动 Elasticsearch。

如果你是通过命令行启动 Elasticsearch,可以使用以下命令:

bin\elasticsearch.bat

重启之后:

尽管通过修改 node.max_local_storage_nodes 配置可以解决问题,但最好为每个节点使用不同的数据目录 我感觉这只是临时的解决方案,不然节点会越来越多,

3.总结:

通过修改 elasticsearch.yml 中的 node.max_local_storage_nodes 配置项,可以允许多个节点使用相同的数据目录,从而解决启动时的 failed to obtain node locks 错误。然而,为了确保 Elasticsearch 的稳定性和性能,建议为每个节点配置不同的数据目录。

相关推荐
TlSfoward39 分钟前
抓包代理链路下的 TLS 指纹变化分析 TLSFOWARD抓包工具
数据库·爬虫·网络协议·搜索引擎·php
数智化管理手记1 小时前
账龄分析手工统计易遗漏?自动账龄分析工具怎么搭建
大数据·网络·数据库·人工智能·数据挖掘
LaughingZhu1 小时前
Product Hunt 每日热榜 | 2026-07-21
搜索引擎·百度
RD_daoyi2 小时前
外链权重暴跌至13%,品牌提及反超传统链接——2026年不做Digital PR,你的独立站等于隐形
运维·网络·学习·机器学习·搜索引擎
ApacheSeaTunnel2 小时前
Apache SeaTunnel AI CLI Benchmark:7 款大模型、100 个 ETL 任务实测,谁真正能跑起来?
大数据·ai·开源·大模型·数据集成·cli·seatunnel·技术分享·数据同步
电商API_180079052472 小时前
企业ERP进销存场景|京东商品详情接口自动同步方案|凭证鉴权批量调用技术实操
大数据·运维·人工智能·爬虫·数据挖掘·网络爬虫
小稻穗2 小时前
市场调研样本选型坐标系:2026六家国内样本平台能力横向校验
大数据·运维·数据分析
极光代码工作室3 小时前
基于Spark的日志监控与分析平台
大数据·hadoop·python·spark·数据可视化
wuhanzhanhui3 小时前
从高强钢到碳纤维!2026武汉汽车材料轻量化制造技术展会,重塑未来造车新范式
大数据·汽车·制造
lupai4 小时前
手机在网状态查询 API 新手实战指南
大数据·python·智能手机