操作系统与软件版本介绍:
项目 | 版本 |
---|---|
操作系统 | windows 10 x64 |
Vagrant | vagrant_2.2.19_windows_amd64.msi |
VirtualBox | VirtualBox-6.1.42-155177-Win.exe |
进入下载页面下载对应版本:https://www.vagrantup.com/downloads,外网下载可能比较慢,推荐使用IDM下载器,会快很多,下载后会得到一个安装程序 vagrant_2.2.19_windows_amd64.msi
。
vagrant_2.2.19_windows_amd64.msi
进入安装环节。安装结束,下面进行环境变量配置,指定 Vagrant 的数据文件存放路径(box、data、gems等)。
Vagrant 在执行命令的时候会尝试访问 %userprofile%\.vagrant.d
,这个文件夹中会存放 Vagrant 相关的命令和下载的镜像,默认为 C:\Users\用户名\.vagrant.d
。
注意:存储路径不要有中文,如果
.vagrant.d
文件夹的存放路径包含中文路径,那么 Vagrant 在使用过程中可能会出错,毕竟是国外的产品,安装路径最好不要包含中文路径。
在环境变量中指定 VAGRANT_HOME
配置项,并关联 .vagrant.d
文件夹的位置,本文配置的路径是:D:\PF\Vagrant\.vagrant.d\
。
注意是在用户变量中配置,不要在系统变量中配置,虽然我没试过有什么区别,但是尽量和博主保持一致。至此 Vagrant 安装教程结束,下面介绍 Virtualbox 安装教程。
官方下载地址:https://www.virtualbox.org/wiki/Downloads,与 Vagrant 一样,建议使用IDM下载,会更快一些。
VirtualBox-6.1.42-155177-Win.exe
进入安装界面:这里安装过程中会提醒安装 Oracle Corporation 通用串行总线控制器
,安装即可,不然后续不能打开 VirtualBox 软件,我这里可能是安装过的原因,没有出现提示。
F:\VirtualBox Vms
其他配置按照需求修改即可,VirtualBox 只是一个虚拟机的供应者,后面都是使用 Vagrant 进行操作,很少使用 VirtualBox。
Vagrant 管理工具中的系统都是 Box 的概念,类似直接虚拟机管理软件直接使用 iso 镜像文件。
首先到 Vagrant 官网中下载一个 VirtualBox 体系下的 centos/7.box
文件,官网地址:https://app.vagrantup.com/boxes/search
下载完后会得到一个 box 文件 CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box,把它修改个短点的名字方便使用,然后保存备用,这里将它改名为 centos7,存放到 D:\PF\VagrantBox\ 文件夹下,此时它的文件路径为:D:\PF\VagrantBox\centos7.box。
vagrant box add centos7 D:\PF\VagrantBox\centos7.box
centos7 是为 box 取的名字,供后续创建虚拟机。
vagrant box list
这里我先创建一个存放 Vagrantfile 的文件夹:D:\PF\VagrantBox\centos7\
,然后打开 cmd 命令行窗口进入这个目录,执行后续命令:
vagrant init centos7
centos7 是前面为 box 取的名字,命令执行完后会在文件夹中生成一个 Vagrantfile
文件,可以在里面配置虚拟机相关信息,里面得注释虽然是英文的,但是十分详细,都是基于 Ruby 语法书写的。这里不作展开,只做基本配置,去掉注释文件后的 Vagrantfile
:
# -*- mode: ruby -*-
# vi: set ft=ruby :Vagrant.configure("2") do |config|config.vm.box = "centos7" # box 名称config.vm.hostname = "centos7" # 虚拟机名称config.vm.box_check_update = false # 盒子不检查更新config.vm.network "private_network", ip: "192.168.33.10" # 配置成私有网络,类似主机模式# 虚拟机供应者参数配置,相当于在 virtualbox 中配置config.vm.provider "virtualbox" do |vb|vb.name = "centos7" # 虚拟机名称vb.gui = false # 启动机器时显示 VirtualBox GUIvb.memory = "2048" # 虚拟机存储大小,mbvb.cpus = 2 # cpu 大小end
end
完成配置后,下面启动虚拟机contos7
,启动过程中可以看到虚拟机的一些基本配置信息:
vagrant up
vagrant ssh
虚拟机的默认用户是 vagrant
, root
用户的密码是 vagrant
。
进入后就可以像 centos7 一样使用命令行操作了,不过使用 cmd 不太方便,推荐使用 Xshell 配合 Xftp 进行操作,都有免费的教育版本。
相比于虚拟机管理软件使用 iso 镜像文件安装虚拟机,使用 Vagrant 管理工具就方便太多了,安装教程到此结束。
Vagrantfile
文件所在的目录,然后再使用 vagrant up
命令启动虚拟机。Vagrantfile
文件所在的目录,然后再使用 vagrant halt
命令关闭虚拟机。D:\PF\Vagrantfile\centos7
,所以我每次都会用 cmd
进入 D:\PF\Vagrantfile\centos7
这个目录,然后使用 vagrant up
开机,使用 vagrant halt
关机。命令 | 解释 |
---|---|
vagrant box list | 查看目前已有的box |
vagrant box add [自定义名称] [box镜像路径] | 新增加一个box |
vagrant box remove | 删除指定box |
vagrant init | 初始化配置vagrantfile |
vagrant up | 启动虚拟机 |
vagrant ssh | ssh登陆虚拟机 |
vagrant suspend | 挂起虚拟机 |
vagrant reload | 重启虚拟机 |
vagrant halt | 关闭虚拟机 |
vagrant status | 查看虚拟机状态 |
vagrant destroy | 删除虚拟机 |
vagrant package --output xxx.box | 打包分发 |
vagrant package —output xxx.box --base “自己的box” |
集群规划如下:
hadoop102 | hadoop103 | hadoop104 | |
---|---|---|---|
IP地址 | 192.168.10.101 | 192.168.10.102 | 192.168.10.103 |
登录用户 | root、vagrant、atguigu | root、vagrant、atguigu | root、vagrant、atguigu |
登录密码 | vagrant | vagrant | vagrant |
软件安装 | net-tools、vim-enhanced、sshpass | net-tools、vim-enhanced、sshpass | net-tools、vim-enhanced、sshpass |
创建vagrantfile所在文件夹,并创建文件Vagrantfile,其中VagrantFile是vagrant的启动配置文件。
mkdir /vagrant_centos_cluster
touch VagrantFile
编辑VagrantFile文件, 内容如下:
# -*- mode: ruby -*-
# vi: set ft=ruby :# build centos
$init_script = <<-SCRIPT
#!/bin/bash# ssh 设置允许密码登录
# sed -i 's@^PasswordAuthentication no@PasswordAuthentication yes@g' /etc/ssh/sshd_config
# sed -i 's@^#PubkeyAuthentication yes@PubkeyAuthentication yes@g' /etc/ssh/sshd_config
systemctl restart sshd.service# yum install -y -q net-tools
# yum install -y -q vim-enhanced.x86_64
# yum install -y -q sshpass# 增加 atguigu 用户
useradd atguigu -g hadoop -d /home/atguigu
# 为atguigu用户设置密码vagrant
echo vagrant | passwd --stdin atguigu
# 配置vagrant用户具有root权限
sed -i "/## Same thing without a password/ivagrant ALL=(ALL) NOPASSWD:ALL" /etc/sudoers#---hosts---
cat >> /etc/hosts <
vagrant会自动下载box并安装shell脚本内容进行安装配置。
vagrant up
正常启动后,我们就可以使用以下命令直接登录到虚拟机或者使用SecureCRT、 Tabby 等终端工具登录查看。
vagrant ssh hadoop102
Vagrant 官网地址
Vagrant Box 地址
VirtualBox 官网地址
使用vagrant搭建hadoop环境 - 简书 (jianshu.com)
Vagrantfile详细说明 - 简书 (jianshu.com)
vagrantfile详解_raoxiaoya的博客-CSDN博客
vagrantfile 详解_戴国进的博客-CSDN博客
Vagrant 与 VirtualBox 的保姆级安装教程_virtualbox vagrant_Jacks丶的博客-CSDN博客
下一篇:autoxjs