吾愛破解 - LCG - LSG |安卓破解|病毒分析|破解軟件|www.mlqcje.live

 找回密碼
 注冊[Register]

QQ登錄

只需一步,快速開始

搜索
查看: 206|回復: 2
上一主題 下一主題

[其他] [hadoop]shell腳本執行jps時:-bash: jps: command not found

[復制鏈接]
跳轉到指定樓層
樓主
Bryce_Loski 發表于 2020-2-18 09:07 回帖獎勵
我構建了hadoop集群。我們一定會寫一個shell腳本去每一個節點上去jps,查看每個節點的進程情況。原先以為shell很簡單:
[Shell] 純文本查看 復制代碼
#!/bin/bash
#查看每個節點運行情況
for((host=101;host<108;host++));do
echo -----------hadoop$host-------------
	ssh hadoop$host "jps"
done
這里默認服務器節點的名字是hadoop101-hadoop107
默認已經配置了ssh_key的公鑰和私鑰
看是運行這段程序的時候會彈出一個錯誤:-bash: jps: command not found
錯誤原因:
在shell腳本寫的ssh到其他節點的時候默認是不加載配置文件的。linux并不能去找到java中jps的命令。

  • 解決方案一:在ssh到其他節點的時候source 一下配置文件。

                             具體操作為:ssh hadoop$host “source /etc/profile;jps”
  • 解決方案二:在ssh到其他節點的時候輸入jps命令下的絕對路徑。

                              在筆者的linux的jdk的絕對路徑為:/opt/module/jdk1.8.0_144/bin這個目錄下就有jps的命令。
                             具體操作為:ssh hadoop$host “/opt/module/jdk1.8.0_144/bin/jps”
  • 解決方案三:在當前用戶的家目錄中輸入命令ll -a會顯示隱藏文件,修改配置文件.bashrc。

                             .bashrc 是當你登入shell時執行
                              在.bashrc里面加入source /etc/profile就行了。
                              但是這種方法不推薦,容易出錯
運行結果:
[Shell] 純文本查看 復制代碼
-----------hadoop101-------------
10720 DataNode
10993 NodeManager
10573 NameNode
19663 Jps
-----------hadoop102-------------
37744 Jps
31282 NodeManager
31154 ResourceManager
31036 DataNode
-----------hadoop103-------------
30725 NodeManager
30620 SecondaryNameNode
30511 DataNode
41135 Jps
-----------hadoop104-------------
30995 DataNode
31109 NodeManager
37483 Jps
-----------hadoop105-------------
30882 NodeManager
30766 DataNode
37358 Jps
-----------hadoop106-------------
8816 Jps
2592 NodeManager
2477 DataNode
-----------hadoop107-------------
37445 Jps
31035 DataNode
31151 NodeManager



不貼最后的shell源碼了,你們應該會寫了把

發帖前要善用論壇搜索功能,那里可能會有你要找的答案或者已經有人發布過相同內容了,請勿重復發帖。

沙發
撒酒狂歌 發表于 2020-2-18 10:05
可以寫成傳入個參數的形式。
[Shell] 純文本查看 復制代碼
#!/bin/bash
cmd=$1
for i in 101  102 103
do
echo "---------$i------------"
ssh os$i "source /etc/profile; $cmd"
echo " "
done
3#
 樓主| Bryce_Loski 發表于 2020-2-18 10:49 <
撒酒狂歌 發表于 2020-2-18 10:05
可以寫成傳入個參數的形式。
[mw_shl_code=shell,true]#!/bin/bash
cmd=$1

當然可以
您需要登錄后才可以回帖 登錄 | 注冊[Register]

本版積分規則 警告:本版塊禁止灌水或回復與主題無關內容,違者重罰!

快速回復 收藏帖子 返回列表 搜索

RSS訂閱|小黑屋|聯系我們|吾愛破解 - LCG - LSG ( 京ICP備16042023號 | 京公網安備 11010502030087號 )

GMT+8, 2020-4-8 07:25

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回復 返回頂部 返回列表
内蒙古11选5开奖查询百度 幸运赛车号码走势图 广西快乐双彩今晚开 湖北11选5开奖推荐号码 快乐十分最近5 长春麻将打宝技巧 山东11选5组选走 保定期货配资 北京pk10软件免费 广西快乐十分走势图开奖 大型单机射击游戏 浙江体彩6十l兑奖规则 2019上证年线 云南11选5 赛车如何看单双大小 *pk10qq群 五分pk10彩票app