启动Elasticsearch时:[failed to obtain node locks]

1、报错内容

[root@cnsz91vl01085 elasticsearch-7.4.2]# cat logs/yss.log
Caused by: java.lang.IllegalStateException: failed to obtain node locks, tried [[/app/elasticsearch-7.4.2/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])?

2、情景描述

启动 elasticsearch 时,出现了 [failed to obtain node locks] 报错

3、问题原因分析

“failed to obtain node locks”的原因通常是无法操作 ./es/data/nodes/0/node.lock 这个文件,我们可以有两个解决方案。

解决方案一: 杀进程

如果node.lock被其他进程使用了。

查看node.lock有没有被使用
[root@cnsz91vl01085 elasticsearch-7.4.2]# lsof ./es/data/nodes/0/node.lock
COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
java    30008 rhlog   55wW  REG  253,4        0 16777332 ./data/nodes/0/node.lock

先查看es的进程,然后杀掉。具体如下:

1、查进程
[root@cnsz91vl01085 elasticsearch-7.4.2]# ps -ef | grep elastic

2、杀进程
[root@cnsz91vl01085 elasticsearch-7.4.2]# kill -9 `ps -ef | grep elastic |awk '{print $2}'`

解决方案二:修改node.max_local_storage_nodes

node.max_local_storage_nodes 这个配置限制了单节点上可以开启的ES存储实例的个数,修改这个参数等于2或者更多,可以启动多个实例。每个实例都有一个node.lock,这样 [failed to obtain node locks] 的问题也解决了。

[root@cnsz91vl01085 elasticsearch-7.4.2]# vim ./config/elasticsearch.yml
node.max_local_storage_nodes: 2
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值