elasticsearch无法启动会产生错误

时间:2014-03-05 18:17:25

标签: java ruby-on-rails ruby ruby-on-rails-3 elasticsearch

当我运行命令启动elasticsearch ..

/elasticsearch -f

给出了一堆错误,比如

  

ElasticSearchIllegalStateException [无法获取节点锁定,以下位置是否可写?:[/ home / anish / elasticsearch / data / elasticsearch]]

     

IOException [无法获取锁定/ home / anish / elasticsearch / data / elasticsearch / nodes / 49]

  IOException[Cannot create directory: /home/anish/elasticsearch/data/elasticsearch/nodes/49]

不知道如何摆脱它..pl help

2 个答案:

答案 0 :(得分:2)

/etc/sysconfig/elasticsearch中查找ES_USERES_GROUP的值 - 两者的默认设置为elasticsearch。如果该用户无法写入您的数据目录,那么您将看到此错误。由于数据目录似乎位于您的主目录下,因此可能会出现问题。您可以修改ES_USERES_GROUP的设置,也可以更改数据目录的权限。

答案 1 :(得分:0)

此错误可能有多种原因,Elasticsearch将其数据存储在文件系统中,并在elasticsearch.yml中指定该文件的位置,并在启动Elasticsearch时检查是否可以将数据写入该位置,如果是,那么它将获得对该位置的锁定,以便其他进程无法写入该位置,从而防止数据丢失和损坏。

此外,这取决于Elasticsearch的版本,在当前的主要版本7.X中,当同一台计算机上有多个安装且在使用node.max_local_storage_nodes之前,Elasticsearch更改了它写入同一位置的方式。允许在同一台计算机上进行多次安装。

解决此问题的提示

  1. 检查是否有多个Elasticsearch进程正在运行,并且您打算这样做。
  2. 如上一个答案所述,检查Elasticsearch是否对该位置具有写访问权。
  3. 检查elasticsearch的版本,看看您使用的配置是否正确。