两个比较简单的shell脚本,但在大数据学习过程中非常重要,方便了对集群的管理和配置文件的同步。
准备工作:
1.hosts为机器起域名,和ip地址相同
2.ssh免密登录
3.下载rsync
集群指令分发工具脚本
#!/bin/bash
if [ $# -lt 1 ] # 如果没有参数会打印提示信息
then
echo "There is no commond to execute!"
exit
fi
LOGIN_USER_NAME=`whoami` # 获取当前登录用户的用户名
for CLU_HOSTS in 101 102 103 104 # in后放需要同步分发指令的机器,机器多时使用另一种for循环
do
echo "----------------node$CLU_HOSTS-------------------"
ssh $LOGIN_USER_NAME@node$CLU_HOSTS $* # node101--node104为节点名 $*为需同步执行的linux命令
done
注意:
1.记得需要给脚本可执行权限:chmod a+x 脚本名
2.记得给脚本放到/usr/local/bin
目录下
3.最好给jdk的bin目录下jps命令创建软链接放到/usr/bin
目录下,jps命令很常用
4.最重要一点!需要提前做好免密登录,否则每次使用脚本都要输入密码会很麻烦
集群文件分发工具脚本
#!/bin/bash