admin管理员组

文章数量:1657207

目录

  • 一、前期准备
    • 1.下载并安装一个虚拟机软件
  • 二、开始创建虚拟机
    • 1.配置虚拟机硬件相关操作
    • 2.虚拟机网络相关操作
  • 三、开机配置相关内容
    • 0.开机遇到报错处理(选看--开机没有报错请忽略)
    • 1.开始配置
    • 2.开机之后配置
    • 3.使用xshell远程登录
    • 4.使用xshell配置虚拟机网络信息(完成单机版搭建)
  • 四、搭建集群
    • 1.配置host信息
    • 2.注册权限用户
    • 3.创建用于存放安装包以及软件安装后的存放目录
    • 4.配置目录指定所有者
    • 5.配置分发脚本
    • 6.克隆两台虚拟机
    • 7.三台虚拟机配置映射地址
    • 8.配置分发免密登录
  • 五、总结

一、前期准备

1.下载并安装一个虚拟机软件

VMware16下载地址

提示:如何使用免费版本网上有好多,这里就不具体讲解了。遇事不决问百度

提示:如果下载较慢建议切换其他站点进行下载,目前使用华为现在还是比较快的,推荐下载iso文件,我没有下载everything这种的iso文件,可能和后续安装报错不同,这里没有使用带everything的iso文件做演示

阿里centos7下载地址


华为下载centos7

提示:如何使用免费版本网上有好多,这里就不具体讲解了。遇事不决问百度

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

修改host

vim /etc/hostname


克隆第二台虚拟机
与克隆第一台一致,使用第一台虚拟机分别克隆虚拟机2和3

连接xshell

vim /etc/sysconfig/network-scripts/ifcfg-eno

重启网络

service network restart

测试网络

ping wwww.baidu

修改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等等。使用分发脚本在一台服务器配置好,然后分发到其余服务,然候只需要修改指定的配置文件即可完成对应环境的部署,效率提高很多,只是在第一次点击集群的时候稍微麻烦一点,为后续搭建集群提供了非常高的便利性,尤其是集群节点很多的时候。

本文标签: 虚拟机环境方法VMware