我正在尝试设置 Elasticsearch。
在 Ubuntu 14.10 上一切都运行良好,但是当我将操作系统升级到 Ubuntu 15.04 时,它总是无法将 Elasticsearch 作为服务启动。 (但我仍然可以通过命令直接运行它: sudo /usr/share/elasticsearch/bin/elasticsearch -Des.default.config=...
)
日志说 elasticsearch 找不到任何可执行的 java 二进制文件。
systemd[1]: Starting Starts and stops a single elasticsearch instance on this system...
sudo[4906]: pam_unix(sudo:session): session closed for user root
elasticsearch[4912]: Could not find any executable java binary. Please install java in your PATH or set JAVA_HOME...
systemd[1]: elasticsearch.service: main process exited, code=exited, status=1/FAILURE
systemd[1]: Unit elasticsearch.service entered failed state.
systemd[1]: elasticsearch.service failed.
我认为用户之间的环境变量可能不同,所以我尝试在
/etc/environment
中添加 JAVA_HOME和 /etc/default/elasticsearch
但它没有用。那么任何想法可能是什么问题?
最佳答案
最有可能的区别在于 Ubuntu 15.04 使用 systemd 在不同的上下文中运行服务。
看看例如https://serverfault.com/questions/413397/how-to-set-environment-variable-in-systemd-service了解如何为 systemd 设置环境变量。您应该将它们设置为 EnvironmentFile
,见 https://wiki.ubuntu.com/SystemdForUpstartUsers
关于ubuntu - 如何在 Ubuntu 15.04 上将 Elasticsearch 作为服务运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30015158/