问题:
在已经搭建好免密登录的hadoop集群中hadoop102执行ssh hadoop103 "jps"显示bash: jps: command not found
[atguigu@hadoop102 hadoop]$ ssh hadoop103 "jps"
bash: jps: command not found
原因:
在shell中执行命令属于login
执行,先登录后执行,使用的环境变量是etc/profile
。
使用ssh hadoop103 "jps"
远程发送命令属于no login
执行。
解决方法:
方法1:
[atguigu@hadoop102 hadoop]$ ssh hadoop103 "source /etc/profile &&jps"
4434 Jps
3684 NodeManager
3192 DataNode
3583 ResourceManager
方法2:
把环境变量写到barhrc里
[atguigu@hadoop102 hadoop]$ cd /etc
[atguigu@hadoop102 etc]$ ll bashrc
-rw-r--r--. 1 root root 2699 Mar 21 2017 bashrc
[atguigu@hadoop102 etc]$ sudo vim bashrc
[atguigu@hadoop102 etc]$