配置实验用的 Linux 虚拟机

环境介绍

虚拟机软件:VirtualBox

Linux 发行版本:Ubuntu 20.04.4

为什么使用 VirtualBox ?

  1. 免费
  2. Windows 和 macOS 都有

模板机准备

初始化 root 密码

$ sudo passwd

连不上 VirtualBox 虚拟机

网络模式设置两个网卡,分别为 NATHost-Only

NAT 用于连外网,Host-Only 用于连内网

在这里插入图片描述

在这里插入图片描述

静态 IP

查看网卡信息

$ ip addr

在这里插入图片描述

enp0s3 可见是 dhcp 动态分配的,也就是上面的网卡 1

enp0s8 也就是网卡 2,没有分配 ip ,我们需要给网卡 2 设置静态 ip,通过他来内网通信

配置网卡

$ vim /etc/netplan/00-installer-config.yaml
network:
  ethernets:
    enp0s3:
      dhcp4: yes
    enp0s8:
      dhcp4: no
      addresses: [192.168.128.101/24]
      nameservers:
        addresses: [8.8.8.8]
  version: 2

应用网卡配置

$ netplan apply

配置主机名

$ vim /etc/hosts

192.168.128.101 node01
192.168.128.102 node02
192.168.128.103 node03

$ vim /etc/hostname

node01

配置 ssh

更改 ssh 配置文件

$ vim /etc/ssh/sshd_config
# 允许登录 root 用户
PermitRootLogin yes
# 允许密码登录
PasswordAuthentication yes

重启 ssh 服务

$ service ssh restart

更换阿里源

$ vim /etc/apt/sources.list
# 复制以下内容
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
$ apt update

配置 JDK

$ vim /etc/proflie 
# 复制以下内容
export JAVA_HOME=/opt/jdk1.8.0_202
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
$ source /etc/profile
$ java -vsersion # 出现以下内容配置成功
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

多机

准备

上述模板机准备完毕后,关机。复制出多台机子,本文起三台。

复制虚拟机

注意:

  1. 生成新的 mac 地址
  2. 完全复制

在这里插入图片描述

更改 HostName 和 IP

详细配置参考上文

HostNameIP
node01192.168.128.101
node02192.168.128.102
node03192.168.128.103

免密登录

生成公私钥

# 默认位置在 ~/.ssh
$ ssh-keygen

id_rsa 是私钥,id_rsa.pub 是公钥

把生成的公钥复制给要登录的机子上 ~/ssh/authorized_keys

配置多个只要另起一行就行

分发脚本

$ vim /bin/xsync
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi

#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 获取当前用户名称
user=`whoami`

#5 循环,分发到 node01 ~ node03
for((i=1; i<=3; i++)); do
echo ------------------- node0$i --------------
        rsync -rvl $pdir/$fname $user@node0$i:$pdir
done
$ chmod 777 /bin/xsync

所有机子间都必须配置免密登录

将分发脚本分发下去

$ xsync /bin/xsync

集群调用脚本

$ vim /bin/xcall

#!/bin/bash

pcount=$#
if((pcount==0));
then
        echo "command can not be null !"
        exit
fi


user=`whoami`

for ((i = 1; i <= 3; i++))
do
        echo ---------------- node0$i ----------------
        ssh $user@node0$i 'source /etc/profile;'$@
done

echo --------------- complete ---------------

$ chmod 777 /bin/xcall
$ xsync /bin/xcall
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值