一旦工作,那就要努力的干,聪明的干,快速的干——用省下来的时间干自己喜欢干的事情。!

Centos 7 ssh远程连接主机执行脚本时环境变量找不到的问题, java hadoop环境变量找不到

hadoop lampnick 5855℃ 0评论

问题:在配置了免密码登录的hadoop集群中执行远程命令出现找不到此命令的错误。

执行命令为:xcall java -version,xcall(《自定义脚本执行远程命令-xcall》这个文章中有介绍此脚本)的原型为$>ssh hostname "java -version",出现如下错误:bash:java:command not found,错误返回码为-127

xcall-error

这个问题搞了半天才解决,后来看到网上的一个大牛的文章说ssh登录的时候如果参数带命令的话,是到远程主机执行的,有些环境变量是不会加载的,然后结合centos的man ssh文档,才找到了解决此问题的办法。

解决办法:

修改environment文件:[root@s100 ~]# vim /etc/environment

加入如下环境变量:

JAVA_HOME=/soft/jdk
HADOOP_HOME=/soft/hadoop
PATH=/soft/jdk/bin:/soft/hadoop/bin:/soft/hadoop/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

保存后,重新加载环境变量

[root@s100 ~]# source /etc/environment

之后再运行程序OK了。

xcall-ok

hadoop也能正常运行了

xcall-hadoop-ok

 

转载请注明:lampNick » Centos 7 ssh远程连接主机执行脚本时环境变量找不到的问题, java hadoop环境变量找不到

喜欢 (1)or分享 (0)
头像
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址