hadoop集群脚本

1、集群分发脚本

#!/bin/bash
#验证参数
if(($#!=1))
then
        echo 请输入要分发的单个文件!
        exit;
fi
#获取分发文件的绝对路径
dirpath=$(cd `dirname $1`; pwd -P)
filename=`basename $1`

echo 要分发的文件的路径是:$dirpath/$filename

#获取当前的用户名
user=$(whoami)

#循环执行rsync分发文件到集群的每条机器
for((i=101;i<=103;i++))
do
        echo ---------------------hadoop$i---------------------
        rsync -rvlt $dirpath/$filename  $user@hadoop$i:$dirpath
done

2、在集群所有机器上执行同一条命令

#!/bin/bash
#在集群的所有机器上批量执行同一条命令
if(($#==0))
then
        echo 请输入您要操作的命令!
        exit
fi

echo 要执行的命令是$*

#循环执行此命令
for((i=101;i<=103;i++))
do
        echo ---------------------hadoop$i-----------------
        ssh hadoop$i $*
done

3、集群一键启动和停止脚本

#!/bin/bash
#hadoop集群的一键启动脚本
if(($#!=1))
then
        echo '请输入start|stop参数!'
        exit;
fi

#只允许传入start和stop参数
if [ $1 = start ] || [ $1 = stop ]
then
        $1-dfs.sh
        $1-yarn.sh
        ssh hadoop101 mr-jobhistory-daemon.sh $1 historyserver
else
        echo '请输入start|stop参数!'
fi

start-all.sh 群起命令也可以,但是用群起命令系统会提示你这个已经过时了,建议分开启动。

4、同步日期为指定的日期

#!/bin/bash
#在hadoop102和hadoop103上同步日期为指定的日期
if(($#==0))
then
        echo 请输入要修改的时间!
        exit;
fi

#修改系统时间
for i in hadoop102 hadoop103
do
        echo --------------同步$i的时间-------------
        ssh $i sudo date -s "'$@'"

done

5、将集群的时间都同步为最新的时间

#!/bin/bash
#将集群的时间都同步为最新的时间

xcall sudo ntpdate -u ntp1.aliyun.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值