Neo4J服务器安装Linux AWS Centos--服务用户找不到java

Neo4J服务器安装Linux AWS Centos--服务用户找不到java,java,neo4j,Java,Neo4j,我已经从Neo网站下载了Neo4J enterprise,并在/opt下对其进行了卸载 我已从Oracle网站成功下载并安装了Java 7 Server edition。注意:在指出我想要一个服务器JRE之后,Oracle下载了以下内容:jdk1.7.0_51 我已经在/opt-giving-me/opt/neo4j-2.0.0和/opt/jdk1.7.051下卸载了 我已经使用Centos Linux在AWS上成功安装了Neo4J 2.O,因此它应该作为服务帐户下的服务运行。为此,我使用了Ne

我已经从Neo网站下载了Neo4J enterprise,并在/opt下对其进行了卸载

我已从Oracle网站成功下载并安装了Java 7 Server edition。注意:在指出我想要一个服务器JRE之后,Oracle下载了以下内容:jdk1.7.0_51

我已经在/opt-giving-me/opt/neo4j-2.0.0和/opt/jdk1.7.051下卸载了

我已经使用Centos Linux在AWS上成功安装了Neo4J 2.O,因此它应该作为服务帐户下的服务运行。为此,我使用了Neo install命令。命令成功运行

我可以像自己一样成功地启动Neo4J。编辑my ~/.bash_配置文件以定义JAVA_主页和导出后

export JAVA_HOME="/opt/jdk1.7.0_51/"
export NEO4J_HOME="/opt/neo4j-2.0.0"
export PATH=$JAVA_HOME/bin:$NEO4J_HOME:$PATH
申请 source~/.bash_配置文件

cd /$NEO$J_HOME
bin/neo4j start
很好用

然而,我们无法成功地让Neo作为一项服务启动

sudo service neo4j-service start

which: no java in (/sbin:/usr/sbin:/bin:/usr/bin)
ERROR: Unable to find java. (Cannot execute )
* Please use Oracle(R) Java(TM) 7 to run Neo4j Server. Download "Java Platform (JDK) 7" from:
 http://www.oracle.com/technetwork/java/javase/downloads/index.html
* Please see http://docs.neo4j.org/ for Neo4j Server installation instructions.
如果我回显$JAVA_HOME,它将按预期返回 如果我回显$PATH,它将按预期返回

正如预期的那样,我们可以在路径上看到java

如果我只是在运行sudo服务neo4j服务启动之前键入java-version 响应显示java版本

一点背景知识:除非我首先按照我们的正常it策略运行一个特殊脚本,否则Linux服务命令不可用。但是,该脚本破坏了我本来要使用的导出

因此,命令 服务neo4j服务启动

返回 -bash:neo4j服务:未找到命令

指示找不到“服务”命令

因此,在我们的环境中需要sudo来执行service命令

我们已经尝试过简单地将jdk1.7.0_51放在/sbin/jdk1.7.0_51下,但这不起作用。我们还尝试从jdk1.7.0_51中提取jre文件夹,并将其放在/sbin/jre下

还尝试在/etc/profile.d/

仍然没有成功

所以简单的问题是

作为服务运行时,Neo4J 2.0.0在哪里寻找Java?它是使用环境变量JAVA_HOME,还是像Neo4J服务器错误消息所显示的那样,在以下位置查找?“在(/sbin:/usr/sbin:/bin:/usr/bin)中没有java”

在我的安装配置下,neo4j服务打算在neo4jservice帐户下运行。这是否简单到确保neo4jservice帐户可以使用JAVA_HOME?为什么会出现错误消息“在(/sbin:/usr/sbin:/bin:/usr/bin)中没有java”


提前感谢

我在solaris和Linux Mint安装上运行了一个测试,这似乎对我很有用 也许它不优雅,但它会让你走。只需删除启动脚本中的sudo部分

sudo NEO4J_HOME="/opt/neo4j" JAVA_HOME="/usr/java" /opt/neo4j/bin/neo4j start
显然,根据您的情况修改环境变量:

JAVA_HOME="/opt/jdk1.7.0_51/" NEO4J_HOME="/opt/neo4j-2.0.0" service neo4j-service start

不是我所希望的答案。。。答案似乎忽略了原始帖子的这一部分:“所以我们的环境中需要sudo来执行service命令”

似乎有效的方法是修改neo4j服务脚本以包含导出


neo4j服务位于/etc/init.d

您需要在管理帐户下进行此操作。确保UAC已关闭。如果您发现相关信息,可以单击并更新答案。