问题现象:
在Ambari
平台启动某个服务时,
会在ambari-server
节点执行类型nohup java -jar XX.jar
这样的指令
如果把这个指令单独拿出来,放在Linux上执行是没有任何问题的
通过平台调用就出现如下错误
nohup: failed to run command 'java': No such file or directory
解决办法:
1、经过检查JAVA环境变量,确认没有问题
[root@manager scripts]# java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
[root@manager scripts]# echo $JAVA_HOME
/usr/jdk64/java
2、Ambari某服务的启动脚本在执行nohup java -jar
之前
增加执行source /etc/porfile
,经验证此方法不行
# Execute("source /etc/profile)
Execute("nohup java -jar XX.jar ...)
3、正确解决方法
java使用绝对路径
Execute("nohup /usr/jdk64/java/bin/java -jar XX.jar ...)
参考:
https://blog.csdn.net/weixin_30823001/article/details/96187765