问题:
在已经搭建好免密登录的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]$
在已搭建的免密登录Hadoop集群中,从hadoop102节点执行sshhadoop103jps命令时,出现bash:jps:commandnotfound错误。原因是远程执行命令默认为nologin环境,不加载etc/profile文件。解决方法有两种:一是通过source命令临时加载环境变量;二是将环境变量配置写入bashrc文件。
1593

被折叠的 条评论
为什么被折叠?



