正如@Suaro指出的那样:我们的问题与该问题中所讨论的[问题具有几乎相同的症状,并且该线程在第一个链接中重申了START_DAEMON解决方案。这是一个好的开始,但是对我而言,它没有提供全面的解决方案。我仔细研究了权限,堆大小和所有权,以找到最终解决方案。
这些是按照截至2018年1月的Elasticsearch
debian安装说明在Ubuntu
16.04上安装Elasticsearch 6的步骤:
- 设置
START_DAEMON=true
在/etc/default/elasticsearch
并重新启动服务。 - 如果系统有2GB RAM(在我的情况下为true),请设置
ES_HEAP_SIZE=1g
- 在中检查elasticsearch目录的权限
/usr/share/elasticsearch
。root
拥有这些的机会 不大理想 。 如果您还不了解,那么以root用户身份运行任何服务都会使您的基础架构受到攻击者的利用。 - 在#3的诱惑是设置
ES_USER=root
和ES_GROUP=root
这将解决您的问题。Elasticsearch将作为一项服务启动(即使他们的产品文档声称ES不会以形式运行root
)。 不要那样做。 相反,请检查该
elasticsearch
用户是否在本地,以及是否存在相同名称的组。$ cut -d: -f1 /etc/passwd
$ cut -d: -f1 /etc/group
然后,将所有elasticsearch文件夹和资源的所有权更改为
elasticsearch
用户和组。$ ~ $ > ll /usr/share/elasticsearch/
total 8.0K
drwxr-xr-x 2 elasticsearch 4.0K Jan 22 10:02 bin/
lrwxrwxrwx 1 elasticsearch 18 Dec 24 2015 config -> /etc/elasticsearch/
lrwxrwxrwx 1 elasticsearch 22 Dec 24 2015 data -> /var/lib/elasticsearch/
lrwxrwxrwx 1 elasticsearch 22 Dec 24 2015 logs -> /var/log/elasticsearch/
drwxr-xr-x 2 elasticsearch 4.0K Dec 24 2015 plugins/^– Take note that the symlinked directories need to be adjusted too
$ sudo chown -R elasticsearch:elasticsearch /usr/share/elasticsearch
$ sudo chown -R elasticsearch:elasticsearch /etc/elasticsearch/
$ sudo chown -R elasticsearch:elasticsearch /var/lib/elasticsearch/
$ sudo chown -R elasticsearch:elasticsearch /var/log/elasticsearch/然后,设置的值
ES_USER=elasticsearch
,并ES_GROUP=elasticsearch
在/etc/default/elasticsearch
如果他们没有设置已经这样(如果你的诱惑,得出每#4)。再试一次…
~ $ > sudo service elasticsearch status
● elasticsearch.service - LSB: Starts elasticsearch
Loaded: loaded (/etc/init.d/elasticsearch; bad; vendor preset: enabled)
Active: active (exited) since Mon 2018-01-22 20:51:29 UTC; 2min 25s ago
Docs: man:systemd-sysv-generator(8)
Process: 3133 ExecStop=/etc/init.d/elasticsearch stop (pre=exited, status=0/SUCCESS)
Process: 3209 ExecStart=/etc/init.d/elasticsearch start (pre=exited, status=0/SUCCESS)~ $ > sudo systemctl restart elasticsearch.service
~ $ > sudo service elasticsearch status
● elasticsearch.service - LSB: Starts elasticsearch
Loaded: loaded (/etc/init.d/elasticsearch; bad; vendor preset: enabled)
Active: active (running) since Mon 2018-01-22 20:54:05 UTC; 2s ago
Docs: man:systemd-sysv-generator(8)
Process: 3306 ExecStop=/etc/init.d/elasticsearch stop (pre=exited, status=0/SUCCESS)
Process: 3340 ExecStart=/etc/init.d/elasticsearch start (pre=exited, status=0/SUCCESS)
CGroup: /system.slice/elasticsearch.service
└─3391 /usr/lib/jvm/java-8-openjdk-armhf/bin/java -Xms1g -Xmx1g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyonly -XX:+HeapDumponOutOfMemoryError -XX:+DisableExplicitGC -Dfile.encoding=UTF-8 -Delasticsearch -Des.pidfilJan 22 20:54:04 lego systemd[1]: Starting LSB: Starts elasticsearch…
Jan 22 20:54:05 lego elasticsearch[3340]: * Starting Elasticsearch Server
Jan 22 20:54:05 lego elasticsearch[3340]: …done.
Jan 22 20:54:05 lego systemd[1]: Started LSB: Starts elasticsearch.
Jan 22 20:51:29 lego systemd[1]: Starting LSB: Starts elasticsearch…
维奥拉!
~ $ > curl -XGET 'localhost:9200/?pretty'{ "status" : 200, "name" : "Svarog", "cluster_name" : "elasticsearch", "version" : { "number" : "1.7.3", "build_hash" : "NA", "build_timestamp" : "NA", "build_snapshot" : false, "lucene_version" : "4.10.4" }, "tagline" : "You Know, for Search"}


