0


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

1、报错内容

  1. [root@cnsz91vl01085 elasticsearch-7.4.2]# cat logs/yss.log
  2. 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被其他进程使用了。

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

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

  1. 1、查进程
  2. [root@cnsz91vl01085 elasticsearch-7.4.2]# ps -ef | grep elastic2、杀进程
  3. [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] 的问题也解决了。

  1. [root@cnsz91vl01085 elasticsearch-7.4.2]# vim ./config/elasticsearch.yml
  2. node.max_local_storage_nodes: 2

本文转载自: https://blog.csdn.net/qq_39298660/article/details/124984413
版权归原作者 cuckoo_yang 所有, 如有侵权,请联系我们删除。

“启动Elasticsearch时:[failed to obtain node locks]”的评论:

还没有评论