vmware 版本:12.5.6
centos 版本:7
网断:192.168.200.0
掩码:255.255.255.0
网关:192.168.200.2
宿主机地址:192.168.200.1
vi /etc/sysconfig/network-scripts/ifcfg-ens33
配置文件内容:
# 网络类型为以太网(固定)
TYPE=Ethernet
# 设备名称(固定)
DEVICE=ens33
# 网络接口名称(固定)
NAME=ens33
# 允许外部连接
ONBOOT=yes
# 静态模式,不接受动态分布的地址
BOOTPROTO=static
# IPV4 配置失败是否继续初始化网络接口
IPV4_FAILURE_FATAL=no
# IP 地址
IPADDR=192.168.200.101
# 子网掩码
NETMASK=255.255.255.0
# 网关
GATEWAY=192.168.200.2
# DNS 服务,这里直接使用网关
DNS1=192.168.200.2
修改完成后重启网络:
service network restart
hostnamectl set-hostname mitchell-100
vi /hosts
写入下方内容
192.168.200.100 mitchell-100
vi /etc/selinux/config
修改下方内容
SELINUX=disabled
vi /etc/sysctl.conf
写入下方内容
# 一个监听套接字上最多可以排队等待的未完成连接数量,一般需要大于等于 551
net.core.somaxconn=551
# 系统是否允许分配更多的内存资源给进程,而不管实际的物理内存是否足够
# 0 允许但是会监听、1 不允许、2 允许
vm.overcommit_memory=1
# 停用防火墙
systemctl stop firewalld.service
# 禁止防火墙开机自启
systemctl disable firewalld.service
# 查看防火墙状态,是否是running
firewall-cmd --state
ps:完成上面的修改后重启让其生效
授予执行权限
chmod +x /etc/rc.local
打开文件:写入需要开机执行的 shell 代码
vim /etc/rc.local
# 安装一些常用的软件
yum -y install vim lrzsz rsync xorg-x11-xauth
# 用于存放软件安装包
mkdir /opt/software
# 用于存放安装的软件
mkdir /opt/module
# 创建环境变量文件,后续安装软件环境变量存放在此
touch /etc/profile.d/my_env.sh
点击下载 jdk 压缩包
点击下载 maven 安装包
上传安装包到 /opt/software 目录下
解压软件包到安装目录
tar -zxvf jdk-8u321-linux-x64.tar.gz -C /opt/module
tar -zxvf apache-maven-3.8.4-bin.tar.gz -C /opt/module
创建环境变量文件并配置环境变量
vim /etc/profile.d/my_env.sh
# 插入下方内容
# -----------------------------------------------
# JAVA
export JAVA_HOME=/opt/module/jdk1.8.0_321
export PATH=$PATH:$JAVA_HOME/bin
# MAVEN
export MVN_HOME=/opt/module/maven-3.8.4
export PATH=$PATH:$JAVA_HOME/bin
使配置文件生效
source /etc/profile.d/my_env.sh
# 查看是否成功
java -version
mvn -version
# 创建账号
useradd mitchell
# 设置密码
passwd mitchell
在 /etc/sudoers 文件内容的下图的位置添加如下内容,从而开启 sudo 权限并允许免密切换到 root
vim /etc/sudoers
添加内容
mitchell ALL=(ALL) NOPASSWD:ALL
获取当前登入的用户,下方三个命令都可以
w
who
whoami
将 /opt/software 和 /opt/software 赋予 mitchell 用户
sudo chown -R mitchell:mitchell /opt/software
sudo chown -R mitchell:mitchell /opt/module
将以上的服务器准备三台
# 第1台
hostnamectl set-hostname mitchell-101
# 第2台
hostnamectl set-hostname mitchell-102
# 第3台
hostnamectl set-hostname mitchell-103
vim /etc/sysconfig/network-scripts/ifcfg-ens33
# 第一台
IPADDR=192.168.200.101
# 第二台
IPADDR=192.168.200.102
# 第三台
IPADDR=192.168.200.103
vim /etc/hosts
添加如下内容
192.168.200.101 mitchell-101
192.168.200.102 mitchell-102
192.168.200.103 mitchell-103
PS:上方修改完成后分别重启
下方的命令需要再三台服务器器删分别执行
# 创建并进入 .ssh 目录,该目录如果已经存在可以直接进入
cd /root
mkdir .ssh
cd .ssh
# 构建秘钥,这里会让输入一些信息,我们直接三次回车使用默认的就好
ssh-keygen -t rsa
# 分发秘钥,第一次我们需要输入 yes 和 密码
ssh-copy-id mitchell-101
ssh-copy-id mitchell-102
ssh-copy-id mitchell-103
# 创建并进入 .ssh 目录,该目录如果已经存在可以直接进入
cd /home/mitchell
mkdir .ssh
cd .ssh
# 构建秘钥,这里会让输入一些信息,我们直接三次回车使用默认的就好
ssh-keygen -t rsa
# 分发秘钥,第一次我们需要输入 yes 和 密码
ssh-copy-id mitchell@mitchell-101
ssh-copy-id mitchell@mitchell-102
ssh-copy-id mitchell@mitchell-103
# 设置权限,如果配置后发现还是需要输入密码才能访问,分别修改下方权限即可
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
创建脚本
cd /opt/module
mkdir bin
cd ./bin
touch xsync.sh
chmod +x xsync.sh
编辑脚本:vim /opt/module/bin/xsync
#!/bin/bash
# 判断参数个数
if [ $# -lt 1 ]
then
echo "请输入至少一个文件或文件夹"
exit;
fi
for host in mitchell-101 mitchell-102 mitchell-103
do
echo ========================= $host =========================
for file in $@
do
if [ -e $file ]
then
pdir=$(cd -P $(dirname $file); pwd)
fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file "不存在"
fi
done
done
创建脚本
cd /opt/module
mkdir bin
cd ./bin
touch jpsall.sh
chmod +x jpsall.sh
编辑脚本:vim /opt/module/bin/jpsall
#!/bin/bash
for host in mitchell-101 mitchell-102 mitchell-103
do
echo ========================= $host =========================
ssh $host jps | grep -v Jps
done