(我是 Elasticsearch 的新手)
我想将 Elasticsearch 作为服务启动(sudo service elasticsearch start),但它不会启动,也没有说明为什么它也不会启动,只是说 -
Starting Elasticsearch Server [fail]
我尝试了以下更改但没有成功!
es.logger.level: INFO to es.logger.level: DEBUG and es.logger.level: TRACE
分别没有在 var/log/elasticsearch 的日志文件中看到任何内容! ES_HEAP_SIZE= 1024 and ES_HEAP_SIZE= 512
分别在 usr/share/elasticsearch/bin/elasticsearch
文本文件,仍然 - Starting Elasticsearch Server [fail]
我没有尝试更改
etc/elasticsearch/elasticsearch.yml
的配置文件中的任何内容- 是否需要更改此文件的设置以使 Elasticsearch 在 ubuntu 中作为服务工作?
最佳答案
它基本上归结为赋予 Elasticsearch “用户”的用户权限 - 是的, Elasticsearch 在 Ubuntu 内作为“用户”运行!您需要在最终会修改的文件夹中为其授予所有权权限。
您需要在终端中执行以下操作:
sudo chown -R elasticsearch:elasticsearch /var/lib/elasticsearch
/var/lib/elasticsearch
是 elasticsearch 存储数据的地方。sudo chown -R elasticsearch:elasticsearch /var/run/elasticsearch
/var/run/elasticsearch
是存储作为服务运行的elasticsearch的进程ID的地方。sudo chown -R elasticsearch:elasticsearch /etc/elasticsearch
/etc/elasticsearch
是存储elasticsearch服务和elasticsearch日志的配置文件的地方。 更改上述任何文件夹的所有权将使您回到第一方,您需要再次执行步骤 1、2 和 3!
您可能还需要设置 JAVA_HOME variable , 使elasticsearch作为服务运行 .
(仅以 root 用户身份更改 elasticsearch.yml,从终端内访问它)
关于ubuntu - 在 ubuntu 中启动 Elasticsearch Server 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38470496/