網(wǎng)站門戶建設(shè)流程武漢最新疫情
1、SSH 工具本身支持多窗口
比如 MobaXterm:
2、編寫(xiě)腳本通過(guò) ssh 在多臺(tái)機(jī)器批量執(zhí)行shell命令
創(chuàng)建 ssh_hosts 配置文件,定義需要批量執(zhí)行的節(jié)點(diǎn)(必須能夠通過(guò) ssh 免密登錄,且存在同名用戶)
vim ssh_hosts
bigdata0
bigdata1
創(chuàng)建 dosshcmd.sh 腳本:
vim dosshcmd.sh
#! /bin/shdoSshCmd() {hosts=`sed -n '/^[^#]/p' /home/z/scripts/ssh_hosts`for host in $hostsdo echo \[**************** HOST: $host ****************]ssh $host "$@"echo ""donereturn 0
}
?
if [ $# -lt 1 ]
thenecho "$0 cmd"exit
fi
?
echo CMD: "$@"
doSshCmd "$@
賦予執(zhí)行權(quán)限
chmod u+x dosshcmd.sh
3、驗(yàn)證:
1) 驗(yàn)證簡(jiǎn)單命令:
[root@bigdata0 scripts]# ./dosshcmd.sh free -g
CMD: free -g
[**************** HOST: bigdata0 ****************]total used free shared buff/cache available
Mem: 93 13 31 0 49 79
Swap: 3 0 3
?
[**************** HOST: bigdata1 ****************]total used free shared buff/cache available
Mem: 93 15 2 0 75 77
Swap: 3 0 3
2) 驗(yàn)證腳本執(zhí)行:
編寫(xiě)一個(gè)通過(guò) jps 找到 pid,然后通過(guò) ps 查看進(jìn)程信息的簡(jiǎn)單腳本:
vim find_java_resources.sh
#! /bin/sh
?
pids=`jps|grep -i "$1"| cut -d ' ' -f 1`
echo ----find pids: $pids
for pid in $pids
doecho ----PID: $pid----if [ $# -eq 1 ];then ps -q $pid -aux|awk '{print $1, $2, $3, $4, $5, $6, $7, $8, $9, $10}'|column -t elseps -q $pid ${@:2}|awk '{print $1, $2, $3, $4, $5, $6, $7, $8, $9, $10}'|column -tfiecho " "
done
賦予執(zhí)行權(quán)限
chmod u+x find_java_resources.sh
分發(fā):
[root@bigdata0 scripts]# scp find_java_resources.sh bigdata1:`pwd`
find_java_resources.sh 100% 265 0.3KB/s 00:00
[root@bigdata0 scripts]#
查看集群每個(gè)節(jié)點(diǎn) yarn 任務(wù)資源占用
[root@bigdata0 scripts]# ./dosshcmd.sh /home/z/scripts/find_java_resources.sh yarn
CMD: /home/z/scripts/find_java_resources.sh yarn
[**************** HOST: bigdata0 ****************]
----find pids: 31878 31879
----PID: 31878----
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME
root 31878 24.7 1.2 26774340 1204428 ? Sl 11:10 2:49 ----PID: 31879----
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME
root 31879 25.9 1.2 26743664 1210208 ? Sl 11:10 2:57?
[**************** HOST: bigdata1 ****************]
----find pids: 30703
----PID: 30703----
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME
root 30703 24.4 2.9 26776844 2854336 ? Sl 11:14 2:48
也可以用 watch 監(jiān)控
watch "./dosshcmd.sh /home/z/scripts/find_java_resources.sh yarn"