集群互通脚本

依次执行单通脚本

basepath=$(cd `dirname $0`; pwd)
bash $basepath/configssh.sh
bash $basepath/deliver.sh $basepath
declare -a  hosts=(cdh1 cdh2 cdh3 cdh4 cdh5 cdh6 cdh7 cdh8 cdh9 cdh10 cdh11)
for slave in ${hosts[@]:1};
 do
    if [ $HOSTNAME != $slave  ]; then
        yes | ssh -o StrictHostKeyChecking=no $slave yum install sshpass
        yes | ssh -o StrictHostKeyChecking=no "$slave" $basepath/configssh.sh  \
            2>&1
    fi
done
wait

单通脚本

declare user_password="yourpassword"
declare -a hosts=(cdh1 cdh2 cdh3 cdh4 cdh5 cdh6 cdh7 cdh8 cdh9 cdh10 cdh11)
cd ~
yes | ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
cd ~/.ssh
cat id_rsa.pub >> authorized_keys

for i in ${!hosts[@]}
do
if [ $HOSTNAME != ${hosts[i]}  ]; then
echo "sshpass -p $user_password ssh-copy-id -o StrictHostKeyChecking=no -i ~/.ssh/id_rsa.pub $USER@${hosts[i]}"
sshpass -p "$user_password" ssh-copy-id -o StrictHostKeyChecking=no -i ~/.ssh/id_rsa.pub $USER@${hosts[i]}
fi
done
echo "配置完毕"

将单机配置好的文件同步到集群

declare -a hosts=(cdh2 cdh3 cdh4 cdh5 cdh6 cdh7 cdh8 cdh9 cdh10 cdh11)
while [ -n "$1" ]
do
for i in ${!hosts[@]}
do
sshpass -p  $user_password ssh -o StrictHostKeychecking=no "${hosts[i]}" rm -rf $1
echo "sshpass -p $user_password scp -r $1 $USER@${hosts[i]}:$1"
sshpass -p $user_password scp -o StrictHostKeyChecking=no -r $1 $USER@${hosts[i]}:$1
done
echo 复制完成:$1
shift
done

猜你喜欢

转载自blog.csdn.net/Zuostar/article/details/82557989