欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

解决ssh $host jps bash: jps: command not found 问题

程序员文章站 2022-04-18 14:38:22
...

解决ssh $host ‘jps’ bash: jps: command not found 问题

问题描述

使用 ssh $host jps 命令报错,连本机也会有这样的情况,但是分开使用并没有问题,即ssh $host下执行jps命令并不会报错。

原因

因为ssh远程连接到服务器的环境变量中不包含对应可执行文件的路径。需要在shell脚本中自己添加。把java的路径加上就行了。

解决

1、ssh $host source /etc/profile;jps

2、在有java环境变量的情况下,

[[email protected] bin]$ ssh hadoop102 $PATH
bash: /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/module/jdk1.8.0_212/bin:/opt/module/hadoop-3.1.3/bin:/opt/module/hadoop-3.1.3/sbin:/home/dev1/.local/bin:/home/dev1/bin: 没有那个文件或目录

使用命令

ssh $host $JAVA_HOME/bin/jps

3、尝试着把root权限赋给hadoop用户

[[email protected] hadoop]# vim /etc/sudoers

在91行91 shift g添加

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
dev1    ALL=(ALL)       ALL

4、把配置文件中的信息追加到~/.bashrc文件里面

[[email protected] profile.d]$ sudo cat /etc/profile >> ~/.bashrc
[[email protected] profile.d]$ ssh hadoop102 jps
50943 Jps

5、在 /etc/profile.d 下创建my_env.sh文件,写入

#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile