现有三台虚拟机,例如:node2、node3、node4
三台虚拟机配置了免密登录,安装了hadoop等软件。
相关集群实用脚本命令
jpsall
#!/bin/bash ? for host in node2 node3 node4 do ? ? ? echo =============== $host =============== ? ? ? ssh $host jps done ?
集群统一执行命令,执行的命令通过参数的执行传入,更具有灵活性。
same.sh
#!/bin/bash ? # 1.获取参数个数,小于1个参数报错 if [ $# -lt 1 ] then ? echo "No Args command Input..." ? exit ; fi ? # 2.获取当前机器的路径 currDir=$pwd ? # 3.ssh到每一台机器,切换到执行脚本机器的当前目录并执行相应命令,这里执行的命令只支持3个参数,可自己根据实际情况扩展,一般用于查看路径或文件内容 for host in node2 node3 node4 do ? ? ? echo =============== $host =============== ? ? ? ssh $host "cd $currDir;$1 $2 $3;" done ?
例如:统一使用ls命令查看三台机器的/home目录,命令如下
guanji.sh
#!/bin/bash ? for host in node4 node3 node2 do ? ? ? echo =============== $host =============== ? ? ? ssh $host sudo init 0; done ?
?
注意:脚本名称可以自定义,但注意不要与原有命令重复。
完成!enjoy it!