一、前期准备
1.下载并安装一个虚拟机软件
提示:如果下载较慢建议切换其他站点进行下载,目前使用华为现在还是比较快的,推荐下载iso文件,我没有下载everything这种的iso文件,可能和后续安装报错不同,这里没有使用带everything的iso文件做演示
二、开始创建虚拟机
1.配置虚拟机硬件相关操作
提示:修改虚拟机名称便于后续搭建集群进行区分,位置更换到指定位置,我一般喜欢放在固态硬盘里,如果固态空间比较紧张,那就放在一个空间充足的地方,建议至少有60GB空间的磁盘。
提示:设置内存大小,根据你的实际内存进行配置,如果你就8G内存,建议1G或者更小,我这里是16G所以设置的稍微大一点,后续需要搭建集群三太虚拟机每天2G内存,当然也可以使用配置磁盘充当内存,在后续进行设置。
2.虚拟机网络相关操作
打开Windows命令行:输入如下命令查询自己的ipv4地址、子网掩码、网关等,不要看vm开头的。我这里是网线,如果你们链接的是wifi的话选择带无线局域网相关的内容。
ipconfig
提示:回到vmware,为虚拟机配置网络信息
虚拟机配置根据你Windows上的信息配置
例如我的Ipv4地址为192.168.11.6,那么虚拟机配置为192.168.11.0.子网掩码就有255.255.255.0就可以
配置网关
和你Windows中的ipv4地址一个网段,不要和已经配置的ip地址重复
设置网关
三、开机配置相关内容
0.开机遇到报错处理(选看–开机没有报错请忽略)
步骤1
或者直接点击
步骤2 勾选如下内容,保存后再次开机
如果还不行,选择低版本兼容
步骤3
然后开机
如果还是不行,比如我就是这个大冤种,尝试更换一下centos7的其它版本镜像。我成功了,更换的是个镜像,去掉之前那些步骤设置的信息哈。我是直接把之前新建的虚拟机删除了,然后新建只是更换的镜像文件,步骤1-3都没有操作
1.开始配置
**记住这个网络地址,后续需要使用他连接xshell**
设置root用户
2.开机之后配置
在虚拟机先登录你的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"
:wq
systemctl stop firewalld
systemctl disable firewalld
service network restart
ping www.baidu.com
至此单机版的虚拟机已经完成!!!!
四、搭建集群
1.配置host信息
vim /etc/hostname
2.注册权限用户
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
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
service network restart
测试网络
ping wwww.baidu.com
vim /etc/hostname
克隆第二台虚拟机
与克隆第一台一致,使用第一台虚拟机分别克隆虚拟机2和3
连接xshell
vim /etc/sysconfig/network-scripts/ifcfg-eno
重启网络
service network restart
测试网络
ping wwww.baidu.com
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
exit
开始配置免密
ssh-keygen -t rsa
ssh-copy-id july1
ssh-copy-id july2
ssh-copy-id july3
输入yes
输入密码
测试面免密分发脚本
把自定义创建的环境变量分发到july2和3
xsync /etc/profile.d/my_env.sh
source /etc/profile
至此免密分发成功,当然严谨一点的话也需要在july2和3上进行测试分发是否成功。
五、总结
关于搭建一些集群环境,比如java,kafka等等。使用分发脚本在一台服务器配置好,然后分发到其余服务,然候只需要修改指定的配置文件即可完成对应环境的部署,效率提高很多,只是在第一次点击集群的时候稍微麻烦一点,为后续搭建集群提供了非常高的便利性,尤其是集群节点很多的时候。
原文地址:https://blog.csdn.net/xiaobai_july/article/details/129409995
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_30028.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!