虚拟机准备
warehouse102,warehouse103,warehouse104
windows本地映射
配置虚拟机映射
[root@warehouse102 ~]# vim /etc/hosts
[root@warehouse103 ~]# vim /etc/hosts
[root@warehouse104 ~]# vim /etc/hosts
192.168.43.142 warehouse102
192.168.43.143 warehouse103
192.168.43.144 warehouse104
配置ip
[root@warehouse102 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.43.142
NETMASK=255.255.255.0
GATEWAY=192.168.43.2
DNS1=8.8.8.8
DNS2=114.114.114.114
[root@warehouse103 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.43.143
NETMASK=255.255.255.0
GATEWAY=192.168.43.2
DNS1=8.8.8.8
DNS2=114.114.114.114
[root@warehouse104 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.43.144
NETMASK=255.255.255.0
GATEWAY=192.168.43.2
DNS1=8.8.8.8
DNS2=114.114.114.114
配置主机名
[root@warehouse102 ~]# vim /etc/hostname
warehouse102
[root@warehouse103 ~]# vim /etc/hostname
warehouse103
[root@warehouse104 ~]# vim /etc/hostname
warehouse104
防火墙关闭
[root@warehouse102 ~]# systemctl stop firewalld
[root@warehouse102 ~]# systemctl disable firewalld
[root@warehouse103 ~]# systemctl stop firewalld
[root@warehouse103 ~]# systemctl disable firewalld
[root@warehouse104 ~]# systemctl stop firewalld
[root@warehouse104 ~]# systemctl disable firewalld
配置用户(重启)
[root@warehouse102 ~]# vim /etc/sudoers
scorpion ALL=(ALL) NOPASSWD:ALL
[root@warehouse103 ~]# vim /etc/sudoers
scorpion ALL=(ALL) NOPASSWD:ALL
[root@warehouse104 ~]# vim /etc/sudoers
scorpion ALL=(ALL) NOPASSWD:ALL
修改密码
[root@hadoop102 opt]# passwd scorpion
# 输入两次密码即可
[root@hadoop103 opt]# passwd scorpion
# 输入两次密码即可
[root@hadoop104 opt]# passwd scorpion
# 输入两次密码即可
创建目录
[root@hadoop102 opt]# mkdir /opt/module /opt/software
[root@hadoop103 opt]# mkdir /opt/module /opt/software
[root@hadoop104 opt]# mkdir /opt/module /opt/software
修改权限
[root@warehouse102 ~]# useradd scorpion
[root@warehouse102 ~]# chown scorpion:scorpion /opt/module /opt/software
[root@warehouse103 ~]# useradd scorpion
[root@warehouse103 ~]# chown scorpion:scorpion /opt/module /opt/software
[root@warehouse104 ~]# useradd scorpion
[root@warehouse104 ~]# chown scorpion:scorpion /opt/module /opt/software
集群分发脚本编写
[root@warehouse102 bin]# vim xsync
[root@warehouse102 bin]# yum install rsync -y
#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi
#2. 遍历集群所有机器
for host in warehouse102 warehouse103 warehouse104
do
echo ==================== $host ====================
#3. 遍历所有目录,挨个发送
for file in $@
do
#4 判断文件是否存在
if [ -e $file ]
then
#5. 获取父目录
pdir=$(cd -P $(dirname $file); pwd)
#6. 获取当前文件的名称
fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file does not exists!
fi
done
done
[root@warehouse102 bin]# chmod 777 xsync
SSH无密登录配置
[root@warehouse102 bin]# ssh-keygen -t rsa
[root@warehouse103 bin]# ssh-keygen -t rsa
[root@warehouse104 bin]# ssh-keygen -t rsa
[root@warehouse102 bin]# ssh-copy-id warehouse102
[root@warehouse102 bin]# ssh-copy-id warehouse103
[root@warehouse102 bin]# ssh-copy-id warehouse104
[root@warehouse103 bin]# ssh-copy-id warehouse102
[root@warehouse103 bin]# ssh-copy-id warehouse103
[root@warehouse103 bin]# ssh-copy-id warehouse104
[root@warehouse104 bin]# ssh-copy-id warehouse102
[root@warehouse104 bin]# ssh-copy-id warehouse103
[root@warehouse104 bin]# ssh-copy-id warehouse104
解释