VMware虚拟机搭建环境通用方法
目录
- 一、前期准备
- 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地址重复
设置网关


三、开机配置相关内容
遇到这个界面直接按回车

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 ]
thenecho Not Enough Arguement!exit;
fi#2. 遍历集群所有机器
for host in july1 july2 july3
doecho ==================== $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:$pdirelseecho $file does not exists!fidone
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等等。使用分发脚本在一台服务器配置好,然后分发到其余服务,然候只需要修改指定的配置文件即可完成对应环境的部署,效率提高很多,只是在第一次点击集群的时候稍微麻烦一点,为后续搭建集群提供了非常高的便利性,尤其是集群节点很多的时候。
相关文章:
VMware虚拟机搭建环境通用方法
目录一、前期准备1.下载并安装一个虚拟机软件二、开始创建虚拟机1.配置虚拟机硬件相关操作2.虚拟机网络相关操作三、开机配置相关内容0.开机遇到报错处理(选看--开机没有报错请忽略)1.开始配置2.开机之后配置3.使用xshell远程登录4.使用xshell配置虚拟机…...
2.Fully Convolutional Networks for Semantic Segmentation论文记录
欢迎访问个人网络日志🌹🌹知行空间🌹🌹 文章目录1.基础介绍2.分类网络转换成全卷积分割网络3.转置卷积进行上采样4.特征融合5.一个pytorch源码实现参考资料1.基础介绍 论文:Fully Convolutional Networks for Semantic Segmentati…...
深度解析Spring Boot自动装配原理
废话不多说了,直接来看源码。源码解析SpringBootApplication我们在使用idea创建好Spring Boot项目时,会发现在启动类上添加了SpringBootApplication注解,这个注解就是Spring Boot的核心所在。点击注解可以查看到到它的实现ementType.TYPE) Re…...
Linux:环境变量
目录一、环境变量的理解(1)什么是环境变量?(2)Linux中的环境变量二、环境变量的使用(1)PATH环境变量(2)和变量相关的指令三、环境变量与普通变量的区别在平时使用电脑的时…...
Codeforces Round 703 (Div. 2)(A~D)
A. Shifting Stacks给出一个数组,每次可以将一个位置-1,右侧相邻位置1,判断是否可以经过若干次操作后使得数列严格递增。思路:对于每个位置,前缀和必须都大于该位置应该有的最少数字,即第一个位置最少是0&a…...
Django项目5——基于tensorflow serving部署深度模型——windows版本
1:安装docker for windows 可能需要安装WLS2,用于支持Linux系统,参照上面的教程安装 2:在Powershell下使用docker docker pull tensorflow/serving3:在Powershell下启动tensorflow serving docker run -p 8500:8500 …...
MySQL基础篇3
第一章 多表关系实战 1.1 实战1:省和市 方案1:多张表,一对多 方案2:一张表,自关联一对多 id1 name‘北京’ p_id null; id2 name‘昌平’ p_id1 id3 name‘大兴’ p_id1 id3 name‘上海’ p_idnull id4 name‘浦东’…...
携程 x TiDB丨应对全球业务海量数据增长,一栈式 HTAP 实现架构革新
随着新冠病毒疫情的缓解和控制,全球旅游业逐渐开始重新复苏。尤其在一些度假胜地,游客数量已经恢复到疫情前的水平。 携程作为全球领先的一站式旅行平台,旗下拥有携程旅行网、去哪儿网、Skyscanner 等品牌。携程旅行网向超过 9000 万会员提供…...
记一次Kafka warning排查过程
1、前因 在配合测试某个需求的时候,正好看到控制台打印了个报错,如下: 2023-03-06 17:05:58,565[325651ms][pool-28-thread-1][org.apache.kafka.common.utils.AppInfoParser][WARN] - Error registering AppInfo mbean javax.management.I…...
MySQL学习笔记(6.视图)
1. 视图作用 (1). 简化业务,将多个复杂条件,改为视图 (2). mysql对用户授权,只能控制表权限,通过视图可以控制用户字段权限。 (3). 可以避免基本表变更,影响业务。只需更改视图即可。 2. 视图(创建&…...
java多线程与线程池-01多线程知识复习
多线程知识复习 文章目录 多线程知识复习第1章 多线程基础1.1.2 线程与进程的关系1.2 多线程启动1.2.1 线程标识1.2.2 Thread与Runnable1.2.3 run()与start()1.2.4 Thread源码分析1.3 线程状态1.3.1 NEW状态1.3.2 RUNNABLE状态1.3.3 BLOCKED状态1.3.4 WAITING状态1…...
Typescript - 将命名空间A导入另一个命名空间B作为B的子命名空间,并全局暴露命名空间B
前言 最近相统一管理 ts 中的类型声明,这就需要将各模块下的命名空间整合到全局的命名空间下,牵涉到从别的文件中引入命名空间并作为子命名空间在全局命名空间中统一暴露。 将命名空间A导入另一个命名空间B作为B的子命名空间 文件说明 assets.ts 文件中…...
Windows下实现Linux内核的Python开发(WSL2+Conda+Pycharm)
许多软件可以通过Python交互,但没有开发Windows版本,这个时候装双系统或虚拟机都很不方便,可以采取WSL2CondaPycharm的策略来进行基于Linux内核的Python开发。启动WSL2,安装Linux内核教程:旧版 WSL 的手动安装步骤 | M…...
新闻发布网站分析及适用场景
在当今数字时代,发布新闻的渠道已经不再局限于传统媒体,越来越多的企业、组织和个人开始使用互联网平台发布新闻稿,以提升品牌知名度和影响力。本文将介绍一些可以发布新闻的网站,并分析其特点和适用场景。一、新闻稿发布平台1.新…...
云原生时代顶流消息中间件Apache Pulsar部署实操之Pulsar IO与Pulsar SQL
文章目录Pulsar IO (Connector连接器)基础定义安装Pulsar和内置连接器连接Pulsar到Cassandra安装cassandra集群配置Cassandra接收器创建Cassandra Sink验证Cassandra Sink结果删除Cassandra Sink连接Pulsar到PostgreSQL安装PostgreSQL集群配置JDBC接收器创建JDBC Sink验证JDBC …...
Input子系统(一)启动篇
代码路径 基于AndroidS(12.0)代码 system/core/libutils/Threads.cppframeworks/base/services- java/com/android/server/SystemServer.java- core- java/com/android/server/input/InputManagerService.java- jni/com_android_server_input_InputMan…...
WuThreat身份安全云-TVD每日漏洞情报-2023-03-08
漏洞名称:Agilebio Lab Collector 远程命令执行 漏洞级别:高危 漏洞编号:CVE-2023-24217,CNNVD-202303-375 相关涉及:Agilebio Lab Collector 4.234 漏洞状态:EXP 参考链接:https://tvd.wuthreat.com/#/listDetail?TVD_IDTVD-2023-05536 漏洞名称:PrestaShop “Xen Forum”模…...
ABP IStringLocalizer部分场景不生效的问题
问题描述: 本地项目依赖注入本地化服务时候生效,第三方项目调用本地接口时候出现本地化失效的问题。 解决方案: 第三方服务封装的 GetHttp 请求的请求头中添加 语言相关信息 request.Headers.Add("accept-language", "zh-C…...
数组(四)-- LC[167] 两数之和-有序数组
1 两数之和 1.1 题目描述 题目链接:https://leetcode.cn/problems/two-sum/description/ 1.2 求解思路 1. 暴力枚举 最容易想到的方法是枚举数组中的每一个数 x,寻找数组中是否存在 target - x 参考代码 class Solution(object):def twoSum(self, n…...
10分钟快速上手Muzic:从零开始你的AI音乐创作之旅
10分钟快速上手Muzic:从零开始你的AI音乐创作之旅 【免费下载链接】muzic 这是一个微软研究院开发的音乐生成AI项目。适合对音乐、音频处理以及AI应用感兴趣的开发者、学生和研究者。特点是使用深度学习技术生成音乐,具有较高的创作质量和听觉体验。 项…...
Wireshark网络协议分析技术与实践指南
1. 网络协议分析技术概述1.1 Wireshark工具简介Wireshark(前称Ethereal)是目前最主流的开源网络协议分析工具,采用WinPCAP接口直接与网卡进行数据报文交换。该工具支持超过2000种网络协议的解析,能够实时捕获和分析网络数据包。1.…...
用Python+OpenCV实现双目相机三维重建:从标定到triangulatePoints的完整流程
PythonOpenCV双目三维重建实战:从标定到点云生成的完整指南 当你第一次看到双目相机生成的彩色点云在屏幕上缓缓旋转时,那种震撼感难以言表。两个普通的USB摄像头,经过精确标定和算法处理,竟能重建出真实世界的三维结构。本文将带…...
Windows Cleaner:智能存储管理解决方案让C盘空间释放效率提升60%
Windows Cleaner:智能存储管理解决方案让C盘空间释放效率提升60% 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 当系统频繁弹出"磁盘空间不足&q…...
嵌入式系统错误处理机制与实现
嵌入式系统中的错误处理机制深度解析1. 错误概念与分类1.1 错误分类体系在嵌入式系统开发中,错误处理是确保系统可靠性的关键环节。从严重性维度分析,程序错误可分为两类:致命性错误:系统无法执行恢复操作,典型处理方式…...
SpringBoot项目整合Redisson实战:从连接池报错到Redis集群健康检查的完整避坑指南
SpringBoot整合Redisson深度实践:连接池优化与集群健康监控全解析 Redis作为分布式系统的核心组件,其Java客户端Redisson的高阶用法一直是开发者关注的焦点。去年某电商平台大促期间,因Redis集群节点闪断导致的分布式锁失效事故,让…...
实战指南:如何为你的应用选择最优Cache替换算法(附性能对比)
实战指南:如何为你的应用选择最优Cache替换算法(附性能对比) 在构建高性能应用时,缓存系统的设计往往是决定整体性能的关键因素之一。想象一下,一个电商网站在大促期间,每秒需要处理数十万次商品详情查询&a…...
数字电路设计小技巧:从HDLBits例题看SOP与POS的Verilog实现
数字电路设计实战:从真值表到Verilog的SOP与POS高效实现 在数字电路设计中,掌握逻辑表达式的最简化方法是一项基础但至关重要的技能。今天我们就以HDLBits平台上的经典例题ECE241 2013 Q2为例,手把手教你如何从真值表出发,通过卡…...
Transformer横空出世!解决NLP难题,引爆AI革命!
Transformer模型自2017年推出以来,已成为人工智能领域最具影响力的创新之一。本文深入探讨了Transformer的基本原理、出现背景及其精巧的架构设计。Transformer通过自注意力机制,成功克服了RNN在处理长序列数据时的长距离依赖和并行计算瓶颈,…...
Qwen3-ASR-1.7B问题解决:服务重启、音频格式兼容全攻略
Qwen3-ASR-1.7B问题解决:服务重启、音频格式兼容全攻略 1. 引言:语音识别服务的稳定性挑战 语音识别技术正在改变我们处理音频内容的方式,但在实际部署中,服务稳定性和格式兼容性常常成为绊脚石。Qwen3-ASR-1.7B作为阿里云通义千…...




