ubuntu - 如何在 Ubuntu 15.04 上将 Elasticsearch 作为服务运行

标签 ubuntu elasticsearch java-home systemd

我正在尝试设置 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/

相关文章:

elasticsearch - Logstash -> Elasticsearch - 更新非规范化数据

elasticsearch - 汇总参数的不同值

java - JAVA_HOME环境变量和 "java -version"的输出有什么区别

sql - 从 SQL 文件中 grep 一个句子

python - 从环境变量复制文本并粘贴到 Selenium (Python)

elasticsearch - 不明白elasticsearch解释结果中的值(value)

maven - JAVA_HOME 在 Maven 中不起作用

PHP 警告 : Cannot load module "http" because required module "raphf" is not loaded in Unknown on line 0

ubuntu - 在 Ubuntu 14.04 上使用 docker 时通过对等错误重置连接

java - 手动安装时无法在 ubuntu 14.04 中设置 JAVA_HOME 变量