Java elasticsearch无法启动
当我运行命令启动elasticsearch时Java elasticsearch无法启动,java,ruby-on-rails,ruby,ruby-on-rails-3,
elasticsearch,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 c
/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在
/etc/sysconfig/elasticsearch
中查找ES\u USER
和ES\u GROUP
的值--两者的默认设置都是elasticsearch
。如果该用户无法写入数据目录,则您将看到此错误。由于数据目录似乎位于您的主目录下,这可能就是问题所在。您可以修改ES_用户
和ES_组
的设置,或更改数据目录的权限。此错误可能有多种原因,Elasticsearch将其数据存储在文件系统中,其位置在Elasticsearch.yml
中指定,并在启动Elasticsearch时,它检查是否可以将数据写入该位置,如果可以,则会获取该位置上的锁,以便其他进程无法写入该位置,从而防止数据丢失和损坏
此外,这取决于Elasticsearch的版本,在当前的主要版本7.X中,Elasticsearch更改了在同一台机器上有多个安装时写入同一位置的方式,在此之前,它使用节点。max_local_storage_nodes
允许在同一台机器上进行多个安装
解决问题的技巧
在.deb包中的默认设置中,配置文件是/etc/default/elasticsearch,并且对ES_USER和ES_USER进行了注释,需要取消注释,以便守护进程启动时不会出现错误