ubuntu

为什么要用 VirtualBox 呢?

  • 本地模拟 Kafka 或者其他集群的时候。因为有些集群,在用 docker 安装,经常会出现问题。
  • 本地模拟云端的服务器。假设要模拟一个云端的 2cpu 与 8g 内存的效果。

1、安装

1.1 安装 vbox

  • 打开linux 下载地址

  • 查看自己的 ubuntu 版本,然后下载

    • 里面有很多选项,通过下面的命令看看自己机器的版本。我的机器版本是ubuntu1~20.04.1

    • cat /proc/version
  • 下载相关文件,我下载的文件是virtualbox-7.0_7.0.8-156879~Ubuntu~focal_amd64.deb。文件不大,大概90M

  • 下载完毕后,双击deb进行安装。

1.2 下载 ubuntu

下载 Ubuntu20 Server

1.3 安装 ubuntu

根据向导配置电脑

  • 输入名称以及要安装的镜像
  • 输入用户名
  • 配置内存 6G,2cpu
  • 20G 的硬盘空间,下一步点击完成

安装系统

  • 自动启动,显示安装向导,这里选择语言
  • 屏幕太小,自动切换成放缩模式
  • 不选择更新
  • 选择键盘
  • 选择网络
  • 选择代理,这里啥也不选
  • 选择镜像,就按照默认值就可以了
  • 选择硬盘
  • 确认硬盘
  • 确认警告
  • 选择用户名和密码
  • 选中 openssh
  • 选择常用软件,这里都不选
  • 开始安装
  • 重启计算机

首次登陆系统

  • 输入 fan,密码 xxxxx,然后登陆到系统
  • 查看当前的 IP 地址

2、配置网络

VirtualBox 的四种网络连接方式

VirtualBox 中的网络连接方式详解

alt

以上看起来很复杂,没关系,看具体的例子吧。

2.1 默认网络

刚安装完毕后的网络,虚拟机可以访问主机,但是主机不能访问虚拟机。

  • 查看当前的 IP 地址

2.2 选择桥接网卡

桥接模式相当完美,但是如果宿主机器没有连接局域网,那么就不能用了。

  • 重新登陆到系统,网卡类型变了,换成了:192.168.31.80
  • 宿主机器上 ping 192.168.31.80

2.3 其他网卡模式

  • Host-Only 模式,当主机没有联网的情况下。

3、安装增强模式

这个有必要安装。

3.1 下载增强包

download

3.2 挂载光驱

设备->分配光驱->选择刚才下载的Vbox GuestAdditons.iso

[alt

3.3 安装

点击下面菜单不成功后,按照后面的脚本进行安装。

[alt

#挂载光驱
sudo mount/dev/cdrom /mnt
cd /mnt
# 手工执行命令
sudo apt install gcc -y
sudo apt install kernel -y
sudo apt install kernel-headers -y
sudo apt install install kernel-devel -y
sudo ./VBoxLinuxAdditions.run
reboot

参考文档

4、共享文件夹

然后执行下面的命令

cd /media
#sf_share是自动挂载的目录
sudo ls sf_share
#查看当前目录权限,发现sf_share的权限是 root vboxsf
ll
#查看当前文件夹
who i ma

如果这样的话,权限很乱,想着把 fan 用户添加到 vboxsf

#查看当前登陆用户组下的所有成员
groups
#查看当前登陆用户组下的所有成员
groups fan
#查看所有的组以及对应的组id
cat /etc/group
# 添加查看这个目录的权限
sudo gpasswd -a fan vboxsf
reboot

5、安装基本程序

要安装的程序有:

分类工具名称说明
网络工具
jdk17Flink 只支持 jdk11
Maven
git系统中已经有了,不用安装
docker
docker-compose

5.1 安装网络工具

这一步可以跳过去,因为系统中已经有了

1、sudo apt-get update
2、安装和ifconfig有关的工具
sudo apt install net-tools
3、安装和ping有关的工具
sudo apt install iputils-ping

5.2 安装 jdk

为了兼容 Flink,这里安装了 jdk11,其实我把 jdk17 也复制到镜像中了。

1:从这里下载 JDK:AdoptOpenJDK

2:解压后复制到:~/jdks/jdk-11.0.13+8

cd ~
mkdir jdks

解压命令 tar -xzvf

3:配置文件

sudo vim /etc/profile
export JAVA_HOME=/home/fan/jdks/jdk-11.0.13+8
export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH

4:让配置生效

source /etc/profile

5:测试

java -version

显示是:openjdk version "11.0.13" 2021-10-19

5.3 安装 Maven

1:从这里下载:Maven

2:解压后复制到:~/maven/apache-maven-3.9.2

cd ~
mkdir maven

解压命令 tar -xzvf

3:配置文件

sudo vim /etc/profile
export MAVEN_HOME=/home/fan/maven/apache-maven-3.9.2
export CLASSPATH=${MAVEN_HOME}/lib:$CLASSPATH
export PATH=${MAVEN_HOME}/bin:$PATH

4:让配置生效

source /etc/profile

5:测试

mvn -v

显示下面内容

Maven home: /home/fan/maven/apache-maven-3.9.2
Java version: 11.0.13, vendor: Eclipse Adoptium, runtime: /home/fan/jdks/jdk-11.0.13+8
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.4.0-150-generic", arch: "amd64", family: "unix"

5.4 安装 docker

docker

这里使用了阿里云进行安装:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

更新权限

#将当前用户添加至用户组
sudo gpasswd -a fan docker
#更新用户组
newgrp docker

配置加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://dist7hw1.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

docker-compose

  1. 先去官方网站看看最新版本,例如 2.18.1
curl -SL https://github.com/docker/compose/releases/download/v2.18.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
  1. 配置可执行权限
sudo chmod +x /usr/local/bin/docker-compose
  1. 使用 测试和执行撰写命令。
docker-compose --version

5.5 设置静态 IP 地址

1:用 ifconfig 看看当前的 IP 地址

2:查看网关 route -n

3:修改 /etc/netplan/00-installer-config.yaml

原先的文件是

# This is the network config written by 'subiquity'
network:
ethernets:
enp0s3:
dhcp4: true
version: 2

修改成

network:
ethernets:
enp0s3:
dhcp4: false
addresses: [192.168.31.181/24]
gateway4: 192.168.31.1
nameservers:
addresses: [114.114.114.114, 8.8.8.8]
version: 2

具体操作如下

sudo vim /etc/netplan/00-installer-config.yaml
sudo netplan apply

6、创建镜像

在现有的机器上安装好基本的程序,那么每次虚拟机启动时,就不用安装了。

6.1 备份镜像

点击菜单上的导出虚拟电脑, 按照默认值就可以了,导出了一个文件ubuntu01.ova,大概有 2.6G。

6.2 恢复镜像

导入并启动

这里有两个地方要修改,可以都修改成 ubuntu02

修改 IP 地址

sudo vim /etc/netplan/00-installer-config.yaml
# 将192.168.31.181 -> 修改成你想要的
sudo netplan apply

修改 hostname

sudo vim /etc/hostname

and

sudo vim /etc/hosts