解决 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 的稳定性和性能,建议为每个节点配置不同的数据目录。

相关推荐
元Y亨H13 小时前
大数据转大模型(LLM)进阶学习路线图
大数据·llm
鸿乃江边鸟13 小时前
Spark中怎么做Spark canonicalize归一化
大数据·分布式·spark
未来之窗软件服务13 小时前
精选之变,顺势而生(2026 年高考语文作文)
大数据·人工智能·高考·仙盟创梦ide·东方仙盟
仰望星空的代码13 小时前
科技是市场的唯一
大数据·人工智能·科技·财经·股市行情
芯盾时代13 小时前
企业建立安全防线治理失控的Agent
大数据·人工智能·安全
二等饼干~za89866813 小时前
2026 主流 GEO 源码厂商实测:云罗 GEO、摘星智能、棋引科技技术与落地能力对比
大数据·运维·科技
AI数据皮皮侠13 小时前
全国高考报名、录取数据(1977-2026)
大数据·数据库·人工智能·python·机器学习·高考
格发许可优化管理系统13 小时前
Mentor许可证使用规定全解析
java·大数据·c语言·开发语言·c++
老陈头聊SEO14 小时前
生成引擎优化(GEO)引领内容创作与用户体验的转型之路
其他·搜索引擎·seo优化
无忧智库14 小时前
基于C4ISR与数据链的智慧应急体系:从“透明战场”到“透明城市”的数字化指挥解决方案(170页PPT)
大数据·人工智能·智慧城市