mac下使用VirtualBox搭建Ubuntu集群

背景

  • 系统:macOS 10.15.3
  • 软件:VirtualBox 6.1
  • 目标:搭建一个虚拟集群(5个节点,2个master,3个slave),为后面搭建高可用(HA)的大数据系统的学习做准备

步骤

1. Linux镜像下载

从Ubuntu官网下载 https://releases.ubuntu.com/16.04/
mac下使用VirtualBox搭建Ubuntu集群_第1张图片
因为之前习惯使用Ubuntu,并且16.04版本比较稳定,再考虑到搭集群不需要桌面环境,所以选择了这个版本 64-bit PC (AMD64) server install image

2.新建虚拟机

(先创建1个主机并进行相应配置,之后可以clone出来多个主机)

  • 点击新建new
    在这里插入图片描述

  • 设置主机类型和名称
    mac下使用VirtualBox搭建Ubuntu集群_第2张图片

  • 设置内存(我这里给了两个g)
    mac下使用VirtualBox搭建Ubuntu集群_第3张图片

  • 后面几步基本上都是按默认进行
    mac下使用VirtualBox搭建Ubuntu集群_第4张图片
    mac下使用VirtualBox搭建Ubuntu集群_第5张图片
    mac下使用VirtualBox搭建Ubuntu集群_第6张图片
    mac下使用VirtualBox搭建Ubuntu集群_第7张图片

  • 创建完成后,左侧会出现对应的主机
    mac下使用VirtualBox搭建Ubuntu集群_第8张图片

3.配置网络连接方式

  • 点击设置里面的网络选项
    mac下使用VirtualBox搭建Ubuntu集群_第9张图片

  • 可见默认是NAT模式
    mac下使用VirtualBox搭建Ubuntu集群_第10张图片

  • 点击修改成桥接类型
    mac下使用VirtualBox搭建Ubuntu集群_第11张图片
    桥接类型可以保证虚拟机和宿主机网络互通,并且可以保证虚拟机可以访问外部网络。关于各种网络连接方式的对比,可以参考 VirtualBox虚拟机几种网络连接方式介绍

4.挂载镜像

  • 点击存储选项
    mac下使用VirtualBox搭建Ubuntu集群_第12张图片

  • 准备挂载镜像

  • 选择刚刚下载的Ubuntu的iso镜像文件并确认
    mac下使用VirtualBox搭建Ubuntu集群_第13张图片

5.启动主机安装配置系统

  • 双击左侧的主机启动虚拟机,会变成running状态
    mac下使用VirtualBox搭建Ubuntu集群_第14张图片

  • 屏幕较小时可以按以下设置做调整

  • 按照引导进行安装(大概要20分钟)
    mac下使用VirtualBox搭建Ubuntu集群_第15张图片
    设置主机名(master01)
    mac下使用VirtualBox搭建Ubuntu集群_第16张图片
    选择按照标准工具包和ssh服务(按空格键进行选择)
    mac下使用VirtualBox搭建Ubuntu集群_第17张图片

  • 安装完成后,重启系统

6.给主机设置固定的ip

(因为将来集群有很多台主机,希望给每一台主机设置固定的ip,方便管理)

  • 查看当前主机网络信息(后面步骤会用到)

ifconfig查看ip地址、广播地址、掩码
mac下使用VirtualBox搭建Ubuntu集群_第18张图片

route -n查看网关
在这里插入图片描述

  • 给主机ip做规划
    根据以上拿到当前主机ip(192.168.0.103) ,网关信息(192.168.0.1),广播地址(192.168.0.255)和子网掩码(255.255.255.0)这些信息,推断出可用的ip大概在192.168.0.103 ~ 192.168.0.254 这个范围。顾对主机做编码如下
主机 ip
master01 192.168.0.111
master02 192.168.0.112
slave01 192.168.0.121
slave02 192.168.0.122
slave03 192.168.0.123

(先配置一个主机就行,完成一个主机配置后,再clone出多个主机)

  • 设置固定ip

使用vi打开配置文件

sudo vi /etc/network/interfaces

可以看到
mac下使用VirtualBox搭建Ubuntu集群_第19张图片

修改为如下

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto enp0s3

#iface enp0s3 inet dhcp

#static表示静态ip
iface enp0s3 inet static
#固定ip地址
address 192.168.0.111
#子网掩码(参考第一步获取的)
netmask 255.255.255.0
#网关
gateway 192.168.0.1
#广播地址(参考第一步获取的)
broadcast 192.168.0.255
  • 设置dns服务器
sudo vi /etc/resolvconf/resolv.conf.d/base

添加如下两行

nameserver 8.8.8.8
nameserver 114.114.114.114
  • 设置完成后保存并且重启当前虚拟机
  • 验证是否生效
    mac下使用VirtualBox搭建Ubuntu集群_第20张图片

7.克隆主机

以上步骤基本完成了一台虚拟主机的配置,接下来要根据这台配置好的主机克隆出多个主机。

  • 确保主机已关闭
    mac下使用VirtualBox搭建Ubuntu集群_第21张图片

  • 点击右键弹出菜单,选择clone
    mac下使用VirtualBox搭建Ubuntu集群_第22张图片

  • 设置
    mac下使用VirtualBox搭建Ubuntu集群_第23张图片
    mac下使用VirtualBox搭建Ubuntu集群_第24张图片

8.对克隆后的主机做配置(以slave01为例)

  • 启动clone产生的虚拟机
    mac下使用VirtualBox搭建Ubuntu集群_第25张图片
    因为该机器从master01克隆过来,那这个时候主机还是master01
  • 修改主机名
sudo vi /etc/hostname

把里面的master01修改成slave01

sudo vi /etc/hosts

mac下使用VirtualBox搭建Ubuntu集群_第26张图片
同样也是把里面的master01修改成slave01

  • 修改ip地址后重启
sudo vi /etc/network/interfaces
#为slave01设置ip地址
address 192.168.0.121
  • 重复步骤7和8,完成对多个主机的clone
主机 ip
master01 192.168.0.111
master02 192.168.0.112
slave01 192.168.0.121
slave02 192.168.0.122
slave03 192.168.0.123

mac下使用VirtualBox搭建Ubuntu集群_第27张图片

9.对集群中的主机做ssh免密登录

  • 在每个主机的hosts文件中添加host信息
sudo vi /etc/hosts

添加以下片段

192.168.0.111   master01
192.168.0.112   master02
192.168.0.121   slave01
192.168.0.122   slave02
192.168.0.123   slave03
  • 在每台机上产生新的rsa公钥私钥文件(回车3次即可)
ssh-keygen -t rsa
  • 在master01的~/.ssh目录下中,执行以下命令:(将master01的公钥写入authorized_keys)
cat id_rsa.pub >> authorized_keys
  • 分别在除master01之外的其他主机中,均使用以下命令将各自的公钥写入authorized_keys中
ssh-copy-id -i master01
  • 合并后,master01中的authorized_keys文件内容如下
cat authorized_keys

mac下使用VirtualBox搭建Ubuntu集群_第28张图片

  • 最后,将master01中的authorized_keys文件拷贝到其他机器上
    在master01中执行:
scp ~/.ssh/authorized_keys master02:~/.ssh/
scp ~/.ssh/authorized_keys slave01:~/.ssh/
scp ~/.ssh/authorized_keys slave02:~/.ssh/
scp ~/.ssh/authorized_keys slave03:~/.ssh/

你可能感兴趣的:(Flink,linux基础,大数据,集群,virtualbox,mac,ubuntu)