VMware虚拟机搭建环境通用方法
vmware虚拟机集群环境搭建,分发脚本xsync ,xync。ssh免密登录。集群通用配置方法。
目录
一、前期准备
1.下载并安装一个虚拟机软件
提示:如何使用免费版本网上有好多,这里就不具体讲解了。遇事不决问百度
提示:如果下载较慢建议切换其他站点进行下载,目前使用华为现在还是比较快的,推荐下载iso文件,我没有下载everything这种的iso文件,可能和后续安装报错不同,这里没有使用带everything的iso文件做演示
提示:如何使用免费版本网上有好多,这里就不具体讲解了。遇事不决问百度
xshell或者其他远程工具下载(如果不嫌虚拟机麻烦)
二、开始创建虚拟机
1.配置虚拟机硬件相关操作
提示:修改虚拟机名称便于后续搭建集群进行区分,位置更换到指定位置,我一般喜欢放在固态硬盘里,如果固态空间比较紧张,那就放在一个空间充足的地方,建议至少有60GB空间的磁盘。
提示:设置内存大小,根据你的实际内存进行配置,如果你就8G内存,建议1G或者更小,我这里是16G所以设置的稍微大一点,后续需要搭建集群三太虚拟机每天2G内存,当然也可以使用配置磁盘充当内存,在后续进行设置。
提示:设置你下载好的centos7文件
2.虚拟机网络相关操作
注意:设置网络模式为NAT模式
打开Windows命令行:输入如下命令查询自己的ipv4地址、子网掩码、网关等,不要看vm开头的。我这里是网线,如果你们链接的是wifi的话选择带无线局域网相关的内容。
ipconfig
提示:回到vmware,为虚拟机配置网络信息
虚拟机配置根据你Windows上的信息配置
例如我的Ipv4地址为192.168.11.6,那么虚拟机配置为192.168.11.0.子网掩码就有255.255.255.0就可以
配置网关
和你Windows中的ipv4地址一个网段,不要和已经配置的ip地址重复
设置网关
这里额外说明一下,有时候主机和虚拟机网络不同情况,正常是不会禁用的,有时候后端开发,比如xxl-job本地调试需要把它禁用
这两个vmware需要启用,否则你咋搞都不行。
三、开机配置相关内容
遇到这个界面直接按回车
0.开机遇到报错处理(选看–开机没有报错请忽略)
如果遇到这个问题,请按照如果下步骤进行操作
步骤1
或者直接点击
步骤2 勾选如下内容,保存后再次开机
如果还不行,选择低版本兼容
步骤3
然后开机
如果还是不行,比如我就是这个大冤种,尝试更换一下centos7的其它版本镜像。我成功了,更换的是个镜像,去掉之前那些步骤设置的信息哈。我是直接把之前新建的虚拟机删除了,然后新建只是更换的镜像文件,步骤1-3都没有操作
1.开始配置
这里没有选择最小化安装,因为好的软件需要
如果内存不足,则使用磁盘充当内存,分配大小4G
**记住这个网络地址,后续需要使用他连接xshell**
设置root用户
等待一段时间之后点击重启
2.开机之后配置
还记得之前配置网络的那个ip地址吗j,如果忘记了请往下看。
在虚拟机先登录你的root用户,输入你的账号密码,密码默认是不会显示出来的包括位数。只要输完点击回车就行
root
登录成功之后
输入
ifconfig
得到ip地址
3.使用xshell远程登录
连接成功!!!
4.使用xshell配置虚拟机网络信息(完成单机版搭建)
声明 : linux使用的一下功能
1.对文件内容进行 编辑,按键盘 i 键小写状态下。
2.对文件修改完成后进行 保存,步骤1 esc 键退出编辑模式。步骤2 : 键英文状态下的冒号。步骤3 wq 键小写模式。步骤4 enter 键回车。
3.自动补全文件路径或者文件名称 tab 键,输入部分文件名称或者路径按下tab键进行补全
4.修改完后,发现不想保存想直接退出:q! 键冒号,q,感叹号
5.命令行操作的命令内容过多,想要清屏,ctrl+L 键
步骤1:编辑ifcfg-eno**文件
按tab补全后续文件名称,每台电脑的文件名称可能不同
vim /etc/sysconfig/network-scripts/ifcfg-eno
回车
按 i 键进行编辑
①修改内容(注意如果你设置的值不带双引号则不需要加上双引,如果原来的值带有双引就加上双引)
BOOTPROTO="static"
ONBOOT="yes"
可以删除这两行,然后复制我的内容粘贴到你的文件中
②增加的内容
DEVICE和你的NAME的值设置成相同的内容
DEVICE="eno16777736"
IPADDR="192.168.11.137"
GATEWAY="192.168.11.2"
NETMASK="255.255.255.0"
DNS1="8.8.8.8"
保存
先按esc键然后执行下方命令
:wq
步骤2.关闭防火墙,重启网络
systemctl stop firewalld
systemctl disable firewalld
service network restart
看是否能正常联网
ping www.baidu.com
至此单机版的虚拟机已经完成!!!!
四、搭建集群
1.配置host信息
我配置的为july1
vim /etc/hostname
2.注册权限用户
配置注册的新用户与root用户有相同的权限
①添加一个名为july新用户
useradd july
passwd july
如果有这些提示,密码还是输入july多输入几次。
②设置权限和root一样
增加对sudoers文件的修改权限
chmod u+w /etc/sudoers
vim /etc/sudoers
找到这个位置
输入以下内容
july ALL=(ALL) NOPASSWD:ALL
3.创建用于存放安装包以及软件安装后的存放目录
mkdir /opt/module
mkdir /opt/software
4.配置目录指定所有者
chown july:july /opt/module
chown july:july /opt/software
查询是否配置成功
cd /opt/
ll
5.配置分发脚本
cd /home/july
新建bin目录
mkdir bin
cd bin
vim xsync
内容如下
其中july1 july2 july3为三天虚拟机的host主机名称,后续会增加2和3的配置,请稍等
#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi
#2. 遍历集群所有机器
for host in july1 july2 july3
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
增加脚本的可执行权限
chmod +x xsync
为脚本配置环境变量
新建my_env.sh文件(这个文件放在了/etc/profile.d下,相当于自定义一个环境变量的配置,没有在/etc/profile这个下边进行追加修改,效果是一样的
)
sudo vim /etc/profile.d/my_env.sh
输入内容如下
#XSYNC_HOME
export XSYNC_HOME=/home/july
export PATH=$PATH:$XSYNC_HOME/bin
让环境变量生效
source /etc/profile
测试配置的环境变量是否生效,下边报错是正常的。还有没配置完分发脚本
xsync /home/july/bin
6.克隆两台虚拟机
先关闭当前虚拟机
开始克隆第一台
设置名称和保存位置点击完成
开启克隆的虚拟机
ifconfig
使用xshell连接
账号密码都是和第一台相同,只是ip地址不一样
修改网络配置
vim /etc/sysconfig/network-scripts/ifcfg-eno
删除如下两行内容
修改IP地址
重启网络
service network restart
测试网络
ping wwww.baidu.com
修改host
vim /etc/hostname
克隆第二台虚拟机
与克隆第一台一致,使用第一台虚拟机分别克隆虚拟机2和3
连接xshell
vim /etc/sysconfig/network-scripts/ifcfg-eno
重启网络
service network restart
测试网络
ping wwww.baidu.com
修改host
vim /etc/hostname
至此三台虚拟机的IP地址都配置好了
分别为
192.168.11.137
192.168.11.139
192.168.11.140
7.三台虚拟机配置映射地址
每台都需要执行并添加相同内容
vim /etc/hosts
默认内容如下,在下方追加内容
192.168.11.137 july1
192.168.11.139 july2
192.168.11.140 july3
第一台配置完成后,后续两天也需要配置。
使用分发脚本,把第一台虚拟机的脚本文件分发到虚拟机2和3上
在july用户使用分发脚本
su july
xsync /home/july/bin
密码为你设置的july用户的密码,如果按照我的教程来的话是july。
去另外两台虚拟机看看是否成功了
cd /home/july/bin/
ll
8.配置分发免密登录
每台虚拟机都需要进行配置
切换到这个目录
cd /home/july/.ssh
如果没有这个目录远程连接一下
ssh july1
输入密码 july
退出远程连接
exit
开始配置免密
执行下方命令,一直按回车就好
ssh-keygen -t rsa
ssh-copy-id july1
输入yes
输入密码
ssh-copy-id july2
输入yes
输入密码
ssh-copy-id july3
输入yes
输入密码
测试面免密分发脚本
把自定义创建的环境变量分发到july2和3
xsync /etc/profile.d/my_env.sh
在2和3上也需要执行如下命令,使环境变量生效
source /etc/profile
至此免密分发成功,当然严谨一点的话也需要在july2和3上进行测试分发是否成功。
五、总结
关于搭建一些集群环境,比如java,kafka等等。使用分发脚本在一台服务器配置好,然后分发到其余服务,然候只需要修改指定的配置文件即可完成对应环境的部署,效率提高很多,只是在第一次点击集群的时候稍微麻烦一点,为后续搭建集群提供了非常高的便利性,尤其是集群节点很多的时候。
更多推荐
所有评论(0)