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

Posted on   ***Pepsi***  阅读(210)  评论(0编辑  收藏  举报

问题描述

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

原因

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

解决

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

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

[dev1@hadoop102 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用户

[root@hadoop102 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文件里面

[dev1@hadoop102 profile.d]$ sudo cat /etc/profile >> ~/.bashrc
[dev1@hadoop102 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

相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2021-04-22 4.22 Android studio 通过获取验证码用户登陆成功

随笔 - 319, 文章 - 0, 评论 - 0, 阅读 - 36566

Copyright © 2025 ***Pepsi***
Powered by .NET 9.0 on Kubernetes

点击右上角即可分享
微信分享提示