远程ssh执行命令时提示找不到命令

最开始的时候碰到这种问题,是在hadoop003上配置了jdk1.8, 在hadoop002上执行ssh hadoop003 java -version提示没有命令,先ssh hadoop003然后执行java -version则没有问题后来执行分发脚本时也碰到过这种问题,如果分步执行,先ssh到主机,然后执行命令就没有问题,然而直接ssh + 主机 + 命令就会报错,百度之后发现是ssh远程执行命令时加载的环境文件是~/.bashrc.所以解决的思路就是在~/.bashrc中添加需要的环境变量即可,后来又研究了下发现和登录模式有关请参考https://blog.csdn.net/whitehack/article/details/51705889

 1 #java     
 2 export JAVA_HOME=/opt/module/jdk1.8.0_181
 3 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
 4 export PATH=$JAVA_HOME/bin:$PATH
 5         
 6 #hadoop
 7 export HADOOP_HOME=/opt/module/hadoop-3.1.1
 8 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
 9 export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
10 export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"
11     
12 #myqsl
13 export PATH=$PATH:/usr/local/mysql/bin

猜你喜欢

转载自www.cnblogs.com/tele-share/p/9581226.html