This question already has answers here:
Java command not found on Linux
(5个答案)
3年前关闭。
我尝试在集群独立模式下运行spark应用程序,当我访问某些远程计算机并使用“ java -version”命令时,我得到了信息(java版本..),但在其他情况下却出现了错误
-bash:找不到命令
所以我认为也许Java没有安装在那些节点上,所以我尝试了:
但我遇到同样的错误,因此想知道如何解决此问题,并且我有一些问题:
-是否有必要在所有远程计算机上安装Java?还是如果我仅将其安装在主节点上就足够了?
-如果必须在每个节点上安装它,如何解决我之前解释的问题? (无法使用安装命令...)
-在我的代码中,我使用了仅受jdk 8支持的表达式,但是某些节点(可以在其中获得“ java版本”)安装了jdk7,因此是否必须重新安装jdk8?
2)将相同的路径添加到PATH的开头(更改将仅应用于当前会话):
要永久修复此问题,请将该行(
另外,由于这是Unix Java,因此如果正在运行某些服务器应用程序,请确保设置LD_LIBRARY_PATH和CLASSPATH变量。通常,这是在应用程序启动脚本中完成的,无需全局操作。
请验证您正在运行的服务器操作系统(
(5个答案)
3年前关闭。
我尝试在集群独立模式下运行spark应用程序,当我访问某些远程计算机并使用“ java -version”命令时,我得到了信息(java版本..),但在其他情况下却出现了错误
-bash:找不到命令
所以我认为也许Java没有安装在那些节点上,所以我尝试了:
sudo apt -get install openjdk-8-jdk
但我遇到同样的错误,因此想知道如何解决此问题,并且我有一些问题:
-是否有必要在所有远程计算机上安装Java?还是如果我仅将其安装在主节点上就足够了?
-如果必须在每个节点上安装它,如何解决我之前解释的问题? (无法使用安装命令...)
-在我的代码中,我使用了仅受jdk 8支持的表达式,但是某些节点(可以在其中获得“ java版本”)安装了jdk7,因此是否必须重新安装jdk8?
最佳答案
“未找到命令”错误意味着$ PATH系统变量中没有列出您试图调用的特定命令。
有两种解决方法:
1)在运行可执行文件时指定完整路径:
/opt/jdk-12345/bin/java -version
2)将相同的路径添加到PATH的开头(更改将仅应用于当前会话):
export PATH=/opt/jdk-12345/bin:$PATH
java -version
要永久修复此问题,请将该行(
export PATH=/opt/jdk-12345/bin:$PATH
)添加到〜/ .bashrc(如果BASH是该用户的默认shell)或添加到〜/ .profile另外,由于这是Unix Java,因此如果正在运行某些服务器应用程序,请确保设置LD_LIBRARY_PATH和CLASSPATH变量。通常,这是在应用程序启动脚本中完成的,无需全局操作。
请验证您正在运行的服务器操作系统(
uname -a
或/bin/uname -a
),因为不同的Unix系统具有不同的软件包管理器:apt-get用于Ubuntu / Debian,rpm用于RedHat,Entropy用于Sabayon / Gentoo,等等。09-20 12:34