Linux ssh命令环境变量不生效

前段时间搭建了一个zookeeper集群,原本想使用ssh命令,对集群所有节点执行相同命令。结果启动zookeeper的时候报错,执行命令和报错信息如下:

hadoop@nn1:~$ ssh hadoop@nn2 /usr/local/zookeeper/bin/zkServer.sh start
Error: JAVA_HOME is not set and java could not be found in PATH.

这里我配置的环境变量在/etc/profile中,经过查询,得知/etc/profile文件只在交互式 shell 中加载。所以在使用ssh登录时,环境变量并没有生效。

然后我再nn2节点上hadoop用户下的.bashrc文件中又添加的环境变量,我先是使用ssh登录到nn2节点,然后执行/usr/local/zookeeper/bin/zkServer.sh start,发现成功启动。然后再回到nn1使用ssh hadoop@nn2 /usr/local/zookeeper/bin/zkServer.sh start发现还是报同样的错误。就算是在.bash_profile中配置环境变量也不生效。

解决方式

使用bash -l -c 强制执行登录 shell,从而加载所有登录 shell 配置文件。

ssh hadoop@nn2 'bash -l -c "/usr/local/zookeeper/bin/zkServer.sh start"'
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇