【环境配置】使用VMware配置Ubuntu虚拟机集群

目录

  • 0 前言
    • 0.1 适用背景
    • 0.2 使用环境
  • 1 配置模板虚拟机
    • 1.1 安装Ubuntu系统
    • 1.2 修改网络设置
      • 1.2.1 设置虚拟网络编辑器
      • 1.2.2 将虚拟机IP改为静态IP
    • 1.3 添加主机间IP与名称的映射
    • 1.4 安装SSH
    • 1.5 XShell和Xftp连接(可选)
  • 2 克隆虚拟机
    • 2.1 克隆
    • 2.2 修改克隆机的IP和主机名
      • 2.2.1 修改IP
      • 2.2.2 修改主机名
    • 2.3 在其余虚拟机上重复2.2的操作
  • 3 可选辅助功能
    • 3.1 SSH免密登录
    • 3.2 集群分发脚本


0 前言

0.1 适用背景

  • 分布式系统学习、实验
  • 大规模数据处理系统学习、实验

0.2 使用环境

  • Windows11
  • Ubuntu 22.04.1 LTS
  • XShell 7 Beta
  • Xftp7
  • VMware Workstation 16 Pro

1 配置模板虚拟机

1.1 安装Ubuntu系统

  • 官网下载镜像iso文件到本地

  • 在任务管理器中检查本机虚拟化是否开启
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第1张图片

  • VMware菜单栏 -> 新建虚拟机 -> 自定义 -> 下一步
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第2张图片

  • 选择合适的兼容性版本 -> 下一步
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第3张图片

  • 稍后安装操作系统 -> 下一步
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第4张图片

  • 根据实际情况进行选择 -> 下一步
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第5张图片

  • 输入虚拟机名称 -> 选择路径 -> 下一步
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第6张图片

  • 安排合适的处理器数量及其内核数量 -> 下一步
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第7张图片

  • 设定合适的内存大小 -> 下一步
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第8张图片

  • 网络模式选择NAT模式 -> 下一步
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第9张图片

  • 选择I/O控制器 -> 下一步
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第10张图片

  • 选择虚拟磁盘类型 -> 下一步
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第11张图片

  • 选择磁盘类型 -> 下一步
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第12张图片

  • 指定合适的磁盘容量(50G一般可保证未来无需扩展) -> 下一步
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第13张图片

  • 指定磁盘文件的存储位置 -> 下一步
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第14张图片

  • 完成创建 -> 选择操作系统盘并安装
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第15张图片

  • 启动虚拟机,根据提示安装Ubuntu系统,本文省略该过程

1.2 修改网络设置

在系统安装完成后,需要修改其网络参数,为后续搭建集群做准备

1.2.1 设置虚拟网络编辑器

  • VMware菜单栏 -> 编辑 -> 虚拟网络编辑器 -> 点击“更改设置”
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第16张图片

  • 选择VMnet8 -> 修改子网IP第三个字段(可选,可使用已有值或修改为其他值,本人设定为144,后文将延续使用该值)
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第17张图片

  • 点击“NAT设置”,将“网关IP”的第三个字段的值改为上一步中“子网IP”所修改的144(注意:“网关IP”的第四个字段需设为2) -> 确定,保存
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第18张图片

  • 来到windows端的控制面板 -> 网络连接 -> Vmnet8属性 -> 双击IPv4协议 -> 修改值如下图所示(注:如果在第一步中不使用144,只需将下图中的144修改为你设定的值,其余的值不需要修改) -> 确定保存
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第19张图片

1.2.2 将虚拟机IP改为静态IP

  • 安装所需工具,并重启系统
sudo apt install -y ifupdown net-tools
init 6
  • 查看配置文件
cd /etc/netplan
ls

查看配置文件

  • 修改文件内容
sudo vim 01-network-manager-all.yaml

将文件内容修改成如下内容:

# Let NetworkManager manage all devices on this system
network:
  ethernets:
    ens33:                                   # ens33为设备的网卡名
      dhcp4: false                           # 关闭DHCP动态IP地址
      addresses: [192.168.144.100/24]        # 本机静态IP地址,一定要在末尾加/24
      optional: true
      routes:
        - to: default
          via: 192.168.144.2                 # 之前设定的网关IP
      nameservers:
        addresses: [8.8.8.8]                 # DNS地址
  version: 2
  • 重启网卡
sudo netplan apply
  • 检查IP地址,可见已成功修改
ip a

【环境配置】使用VMware配置Ubuntu虚拟机集群_第20张图片

1.3 添加主机间IP与名称的映射

  • 查看hosts文件
vim /etc/hosts
  • 添加如下内容:
127.0.0.1       localhost

192.168.144.100 base         # 本机IP
192.168.144.101 linux01     # 日后集群的1号主机的IP和主机名
192.168.144.102 linux02     # 日后集群的2号主机的IP和主机名
192.168.144.103 linux03     # 日后集群的3号主机的IP和主机名
# 后续可添加其它IP和主机名的映射关系
  • 可使用ping进行测试
ping base

1.4 安装SSH

  • 检查是否安装SSH,如结果中看到sshd,说明安装成功
sudo ps -e |grep ssh
  • 若未看到sshd,则输入以下命令进行安装
sudo apt-get install openssh-server
  • 安装完成后,再次使用第一步命令查询,可发现sshd

1.5 XShell和Xftp连接(可选)

  • 打开XShell,新建连接,输入连接基本信息
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第21张图片
  • 配置用户登录信息
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第22张图片
  • 点击“连接”,即可连接成功
  • XShell安装完成后,Xftp点击菜单栏下的对应按钮即可自动连接
    菜单栏
  • 至此,模板机已准备就绪,后续需要创建新虚拟机时可直接克隆此机器,直接略过前述步骤

2 克隆虚拟机

2.1 克隆

  • 关闭Base模板机(若启动的话)
  • 右键Base -> 管理 -> 克隆
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第23张图片
  • 克隆虚拟机中的当前状态
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第24张图片
  • 创建完整克隆
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第25张图片
  • 选择名字和路径,完成克隆
    【环境配置】使用VMware配置Ubuntu虚拟机集群_第26张图片
  • 将上述操作再重复N-1次(N为集群的数量),创建出全部的集群(本文基于N=3\主机名分别为linux01,linux02,linux03进行操作)

2.2 修改克隆机的IP和主机名

2.2.1 修改IP

  • 启动linux01主机
  • 进入netplan,修改yaml内容
cd /etc/netplan
sudo vim 01-network-manager-all.yaml
  • 修改静态IP地址为101:
addresses: [192.168.144.101/24]        # 本机静态IP地址,一定要在末尾加/24
  • 重启网卡
sudo netplan apply

2.2.2 修改主机名

  • 查看hosts文件
sudo vim /etc/hostname
  • 修改为如下内容:
linux01

2.3 在其余虚拟机上重复2.2的操作


3 可选辅助功能

3.1 SSH免密登录

  • 在~目录下执行下方代码,生成公钥和私钥,输入命令后连按三次回车
ssh-keygen -t rsa
  • 出现.ssh目录,内含id_rsaid_rsa.pub两个文件,分别为私钥和公钥
  • 将公钥id_rsa.pub发送给自己及其他主机
ssh-copy-id linux01
ssh-copy-id linux02
ssh-copy-id linux03
  • 现在使用ssh命令时即可免密登录,在其他节点上也可执行此操作

3.2 集群分发脚本

  • 需求:将一个节点的某一文件循环发送给其他节点
  • 脚本代码:
#!/bin/bash 

#1. 判断参数个数
if [ $# -lt 1 ] 
then 
	echo Not Enough Arguement!
	exit;
fi

#2. 遍历集群所有机器
for host in linux01 linux02 linux03
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:$pd
			else
				echo $file does not exists!
		fi
	done
done
  • 修改执行权限
chmod 777 xsync
  • 使用方法
xsync aaa.txt bbb/

至此,虚拟机集群便全部搭建完成啦!
欢迎各位读者在评论区中批评指正,如果对你有用的话,记得点赞收藏哦~

你可能感兴趣的:(环境配置,ubuntu,linux,分布式,vmware,经验分享)