shell脚本-大数据集群部署初始环境检测
shell脚本
#1.保证root/dsadm 免密登录
[root@test ~]#ssh-copy-id host
#2.配置权限 sudo
[root@test ~]#sed -i "s/Defaults requiretty/#Defaults requiretty" /etc/sudoers
dsadm ALL=(ALL) NOPASSWD:ALL
# 添加用户(dsmad)
[root@localhost ~]# useradd dsadm&& echo "dsadm" |passwd dsadm --stdin
配置visudo:
[root@localhost ~]# sed -i 's/Defaults requiretty/#Defaults requiretty/g' /etc/sudoers
dsadm ALL=(ALL) NOPASSWD: ALL
#免密登录
[root@test ~]#useradd dsadm &&echo "dsadm" |passwd dsadm --stdin
#3.关闭防火墙
[root@test ~]#systemctl stop firewalld && systemctl disable firewalld
#关闭sellinux
[root@test ~]#sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
#4.修改时间
[root@test ~]#date
#5.软连上海
[root@test ~]#timedatectl set-timezone Asia/Shanghai
[root@zjdky01 ~]# date -s '2019-09-18 23:14:35'
[root@test ~]#ls -l /etc/localtime
[root@test ~]#ntpdate xx.xx.xx.xx
[root@test ~]#hwclock --systohc && hwclock --show
[root@test ~]# date
#6.设置语言
[root@test ~]#sed -i 's/en_US.UTF-8/zh_CN.UTF-8/g' /etc/locale.conf && source /etc/locale.conf && echo $LANG
#7.查看 DNS 和 /etc/sysconfig/network
[root@localhost ~]# cat /etc/resolv.conf #多余的部分注释
[root@localhost ~]# cat /etc/sysconfig/network
#8.主机名
[root@localhost ~]# hostnamectl set-hostname yjjargo01 && hostnamectl
[root@localhost ~]# systemctl restart network
#9.防火墙&&selinux
[root@localhost ~]# systemctl stop firewalld && systemctl disable firewalld
[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
#10.时间同步
[root@localhost ~]# timedatectl set-timezone Asia/Shanghai
[root@localhost ~]# ls -l /etc/localtime
[root@localhost ~]# ntpdate 10.56.0.149
#硬件同步
[root@localhost ~]# hwclock --systohc && hwclock --show
#11.语言
[root@localhost ~]# echo $LANG
#12.自动化挂盘
disk=/dev/sda
time=`date -d "0 days ago" +"%Y%m%d%H%M%S"`
cp /etc/fstab /etc/fstab.bak_${time}
#11.partition
echo "分区磁盘: ${disk} "
parted ${disk} mklabel gpt
parted ${disk} mkpart primary 0G 600G
parted ${disk} mkpart primary 601G 900G
parted ${disk} mkpart primary 901G 100%
#12. format
echo "格式化磁盘 ${disk}1 ${disk}2 ${disk}3"
mkfs.xfs -f -n ftype=1 ${disk}1
mkfs.ext4 -F ${disk}2
mkfs.ext4 -F ${disk}3
#13. UUID
echo "生成UUID"
UUID1=`blkid ${disk}1 |awk ' {print $2} ' |sed 's/\"//g' `
UUID2=`blkid ${disk}2 |awk ' {print $2} ' |sed 's/\"//g' `
UUID3=`blkid ${disk}3 |awk ' {print $2} ' |sed 's/\"//g' `
echo -e "${UUID1} \n ${UUID2} \n ${UUID3}"
#write to fstab
echo "UUID 写入 /etc/fstab"
echo "${UUID1} /var/lib/docker xfs defaults 0 0" >> /etc/fstab
echo "${UUID2} /var/log ext4 defaults 0 0" >> /etc/fstab
echo "${UUID3} /mnt/disk1 ext4 defaults 0 0" >> /etc/fstab
#mkdir dir
echo "创建挂在目录"
mkdir -p /var/lib/docker
mkdir -p /mnt/disk1
mv /var/log /var/log_bak
mkdir -p /var/log
#挂载
mount -a
df -Th
for host in `tail -6 /etc/hosts|awk ' {print $1} '`
do
echo =========================="${host} =========================="
ssh ${host} "cat /etc/hosts"
done