现有三台虚拟机,例如:node2、node3、node4
三台虚拟机配置了免密登录,安装了hadoop等软件。
相关集群实用脚本命令
统一执行jps命令
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
注意:
1.脚本名称可以自定义,但不要与原有命令重复;
2.需要给脚本添加可执行权限;
3.为了能更加方便使用脚本,将脚本所在目录添加到环境变量中。
完成!enjoy it!