依次执行单通脚本
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