在Mac上利用VirtualBox搭建本地虚拟机环境的方法

1. 大数据和Hadoop

研究学习大数据,自然要从Hadoop开始。 Hadoop不是一个简单的软件,而是有一些列软件形成的生态,其核心思想来自Google当初发布的三篇论文,后来做了开源的实现, 谷歌的实现和Hadoop的实现大致可以做这样的对应:

Google Map/Reduce <---> Hadoop MapReduce
Google GFS <---> Hadoop HDFS
Google BigTable <---> Hadoop HBase

Hadoop生态的所有组成部分,都是跑在linux环境下的,自然我们首先需要搭建linux环境。另外Hadoop之所以能处理“大”数据,是因为其分布式的特性,可以利用分布式计算构建服务器集群,并可根据需要扩展。为了学习,我们先在本地计算机上利用虚拟机搭建linux环境,要模型集群环境,就多创建几个虚拟机就可以了。

为了玩儿这套东西,因为要创建几个虚拟机,所以的你的电脑内存最好不小于8G,因为跑Hadoop一般一个虚拟机需要2G,随便开3台虚拟机就占不少内存了。 不过前期为了学习,我先只给每台虚拟机分配1G内存,后面不够了在调整就行了。

2. 为什么选VirtualBox?

提起虚拟机,自然首先想到的就是大名鼎鼎的VMware。 VMware是老牌虚拟机软件,网上教程也很多。我之所以选用VirtualBox,主要是因为license的问题。 我手头只有一台MacBook pro, 不想话太多时间在软件license上折腾,所以选择了免费的VirtualBox. VirtualBox的安装过程乏善可陈,就是常规操作,不说了。


image.jpg

3. 虚拟机中安装CentOS

前面提到,我的主力计算机是一台MacBook Pro. 之前为方面,利用Parallel Desktop虚拟了一台Windows 出来,这里不提。

linux系统我选择了CentOS,首先从CentOS官网下载系统的ISO文件。在VirtualBox里新建一个虚拟机,类型选Linux,版本随便选一个就行了,因为里面没有看到有CentOS,不过随便选一个也没问题。 注意最好选一下文件夹,也就是虚拟机文件存放的位置,因为随着装的东西越来越多,虚拟机文件可能会越来越大。我的电脑硬盘都快撑满了,所以挂了个外接硬盘,把虚拟机文件放在了外接硬盘上,需要时插上用,虽然不方便,但也只好将就了。

其他参数可以都按默认,虚拟机创建成功后,点设置,切换到存储,在光驱那里选择下载的CentOS系统的ISO文件,这样虚拟机启动后就可以进入CentOS的安装了。

安装CentOS7 操作系统也不说了,都是图形化界面,没什么难度。

4. 网络环境配置遇到的坑

Linux安装成功后的网络设置这里需要说一下,我在这上面踩了不少坑。我希望我的网络环境是这样的。首先我们希望Linux虚拟机能够连接互联网,这样以后需要下载什么组件时能方便些。其次希望能用Host机器也就是MacBook中访问到Linux虚拟机,以便ssh登录上去。VirtualBox默认的小窗口实在很小,看着眼花,虽然也可以调大,但毕竟在宿主下操作更方便些,所以还是需要从MacBook上ssh过去。但是请注意,CentOS刚刚安装完成后是不能联网的,还需要做相关的设置才行。

4.1 Linux虚拟机连接互联网

虚拟机的网络设置默认可选用“网络地址转换NAT” ,虚拟机会创建一个NAT网络。

虚拟机安装后默认没有开启网络,所以不能联网,需要启动虚拟机,登录后更改网络配置。

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

把ONBOOT修改为yes,以便让linux 启动后即启动网络。 更改后按ESC,然后 :wq 退出保存。可以不用重启,通过下面的命令重启网络服务,以便使更改生效。

systemctl restart network

这时候可以通过命令 ``` ip addr``` 查看,你会看到网络已经有了一个IP地址,比如我的是 10.0.2.15。如图:

现在你如果 ping www.baidu.com ,应该发现已经能够联网了。

4.2 从宿主机Macbook访问Linux虚拟机

另外,但从主机Macbook还是不能ping通这个地址,就是说主机还不能访问虚拟机。要让主机MacBook和虚拟机linux互通,就需要让这两个机器在同一个网段里。 VirtualBox里的“管理”菜单下,打开“主机网络管理器”,创建一个,如图,可以看到创建了一个192.168.56.1的虚拟网卡。

这时候如果你在MacBook的终端中使用ifconfig命令查看,你会发现,多出来一个vboxnet0的网卡,ip地址就是192.168.56.1

danieldu@daniels-MacBook-Pro-857  ~  ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
nd6 options=201<PERFORMNUD,DAD>
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether ac:bc:32:c1:ed:dd
inet6 fe80::1c82:47a:64f:460f%en0 prefixlen 64 secured scopeid 0x4
inet 192.168.31.46 netmask 0xffffff00 broadcast 192.168.31.255
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: active
....

vboxnet0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
ether 0a:00:27:00:00:00
inet 192.168.56.1 netmask 0xffffff00 broadcast 192.168.56.255
utun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
inet6 fe80::f655:9c6f:ca10:240e%utun1 prefixlen 64 scopeid 0xc
nd6 options=201<PERFORMNUD,DAD>

...

然后需要VirtualBox中对应的虚拟机设置中,增加一个网卡2. 选择“仅主机(Host-Only)网络”,界面名称就是之前看到的vboxnet0.

然后登录到虚拟机, 利用“ip addr” 命令查看,你会发现多出来一个网卡enp0s8。 从enp0s3 复制一个,然后编辑这个文件,这次更改为固定IP地址。

cp /etc/sysconfig/network-scripts/ifcfg-enp0s3/etc/sysconfig/network-scripts/ifconfig-enp0s8

然后 重启网络 "systemctl restart network". 这时候就可以从主机Macbook 访问虚拟机了。

4.3关闭Linux防火墙

从上面的设置看到, 主机MacBook 的IP是 192.168.56.1, 虚拟机Linux设置了静态地址为 192.168.56.100. 现在已经在一个网段内了,应该内ping通。如果你ping不通,那很可能是防火墙的问题。 首先MacBook要关闭防火墙。

然后确保虚拟机Linux的也关闭防火墙,默认防火墙是开着的。

  

检查一下ssh服务,默认应该是开着的

你现在应该能从mac的终端通过ssh登录到linux了。

总结

以上所述是小编给大家介绍的在Mac上利用VirtualBox搭建本地虚拟机环境的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • 详解VirtualBox虚拟机网络环境解析和搭建-NAT、桥接、Host-Only、Internal、端口映射

    由于前几天老师要检查大作业,而我们的数据库是放在虚拟机里的(不想在本机里放太多东西,保持轻便快速...),平时是用的桥接模式,但是考虑到可能教室里不好上网(图书馆底下信号比较差...),所以就试了试断网情况,却发现无法连接到数据库,因此专门找了资料学习了一下虚拟机的网络环境,网上信息比较杂,粘贴党太多,害苦了我,因此写这篇文章供大家参考,也供自己以后参考.全是经过测试的,绝非粘贴. 本文以VirtualBox为例 如果出现主机无法ping通虚拟机的情况,请首先确认虚拟机防火墙已关闭. 一.NAT

  • VirtualBox虚拟机安装CentOS 7图文教程

    刚好要重装虚拟机上的CentOS系统,就顺便记录下来给新手朋友们做做参考,在windows平台上通过安装虚拟机学习linux基本上是linux入门的必经之路,作为一名Java web开发者应当掌握一定的linux技能,因为linux在服务器方面有着更强的稳定性和安全性,而运维方面往往也是开发者容易忽视的一部分,总是将java程序部署在windows server上跑多少也显得有点low,所以本篇blog就记录一下在VirtualBox虚拟机中安装Linux CentOS 7. 新建虚拟机 因为比

  • VirtualBox配置虚拟网卡(桥接)——实现主机-虚拟机网络互通

    网上搜出来的比较乱,讲的不明不白,因此根据自己弄过一次,确认可行的方式,做个备份,方便日后查阅. 环境: 在Oracle VM VirtualBox中安装的Ubuntu,具体版本名是:ubuntu-14.10-server-amd64 Step1: VirtualBox在虚拟机关机状态下,如图进行设置: Step 2: 虚拟机开机,输入命令:sudo ifconfig或者sudo ifconfig -a查看当前网卡配置 查看当前ip地址 Step3: 输入命令: vim /etc/network

  • Virtualbox主机和虚拟机之间文件夹共享及双向拷贝(Windows<->Windows, Windows<->Linux)

    最近学习Virtualbox的一些知识,记录下,Virtualbox下如何实现主机和虚拟机之间文件夹共享及双向拷贝 关于双向拷贝 1.设置虚拟机为"双向"共享粘贴 有的人反应只要设置双向粘贴就可以,但是我的不行,我还需要再给虚拟机安装一下增强功能.需要启动虚拟机,安装菜单项"设备"中的最后一项. 安装完增强功能,注意要重启虚拟机,双向拷贝才被启用. 关于文件夹共享 情况一: Host操作系统:Windows 7 Guest操作系统:Windows Server 1.

  • VirtualBox虚拟机安装Ubuntu详细教程(图文)

    最近我初次接触了Linux操作系统,在VirtualBox虚拟机上安装了Ubuntu来学习,顺便把安装过程分享到博客.这篇教程面向超新手. VirtualBox简介 VirtualBox是Oracle旗下的一款开源的,免费的虚拟机软件.也是本教程所用的虚拟机软件. 官方下载地址:https://www.virtualbox.org/wiki/Downloads 根据你正使用的操作系统,选择相应的最新版本进行下载并安装,例如Windows用户就下载VirtualBox x.x.x for Wind

  • 详解VirtualBox + CentOS 虚拟机网卡配置

    前言 要学好Linux,还是得自己搭建虚拟机. VirtualBox比较小巧简单,容易上手.在配合CentOS 6.4使用时,首要的问题就是网卡配置,尤其是使用SSH终端仿真程序(例如SecureCRT)访问主机时,更需要配置好IP.如下为网卡相关的配置. 1.VirtualBox 配置 1.1 配置页面 1.2 网卡连接方式 ①.仅主机(Host-only) 此连接方式只允许宿主机器与虚拟机之间互通 ②.桥接网络 此连接方式虚拟机拥有一个与桥接网卡同网络下的一个局域网IP,与此局域网内其他机器

  • VirtualBox安装Ubuntu Server16.04虚拟机的图文教程

    1.新建虚拟机 VirtualBox点击新建,选择Linux Ubuntu 虚拟硬盘类型选择VHD(虚拟硬盘) 动态分配 选择好保存位置和硬盘大小,创建. 2.安装系统 选择"存储"--"控制器",加载Ubuntu Server光盘镜像 选择好后启动. 选英文 位置信息,选择other--Asia--China 系统语言和键盘设置 选English(US) 设置计算机名 用户名,密码 是否使用弱密码,是 是否加密,否 时区是否正确 磁盘分区,默认就行 网络代理 是否

  • 利用virtualbox虚拟机实现端口转发

    virtualbox虚拟机实现端口转发,具体内容如下 1.应用场景 突破上网限制(如在公司内部限制访问外部网络,但是开放了某些端口,可以利用开放的某些端口实现端口重定向) 远程桌面重定向 NC重定向获得Shell 2.实验环境 virtualbox虚拟机 Windows XP(作为防火墙子网客户机,Host-Only,ip:1.1.1.10) 防火墙(虚拟两块网卡,一块使用桥接到物理网络,一块使用Host-Only,ip:1.1.1.1) Kali Linux(安装rinetd作为流量转发中转站

  • 在Mac上利用VirtualBox搭建本地虚拟机环境的方法

    1. 大数据和Hadoop 研究学习大数据,自然要从Hadoop开始. Hadoop不是一个简单的软件,而是有一些列软件形成的生态,其核心思想来自Google当初发布的三篇论文,后来做了开源的实现, 谷歌的实现和Hadoop的实现大致可以做这样的对应: Google Map/Reduce <---> Hadoop MapReduce Google GFS <---> Hadoop HDFS Google BigTable <---> Hadoop HBase Hadoo

  • 利用nodeJs anywhere搭建本地服务器环境的方法

    公司有个微信端项目,需要前端在手机上随时查看网页,于是乎用Node搭建了一个本地服务器环境,把网页地址发到QQ并用手机打开来查看. 首先去nodeJs官网下载最新版nodeJs https://nodejs.org/en/ 安装成功后win+r打开cmd 输入node -help 或者node -v查看是否安装成功 装好后输入 npm install anywhere -g来安装anywhere.注意如果是mac系统会提示你权限不够,需要在代码前加上 sudo获取管理员权限.即sudo npm

  • 利用Docker搭建本地https环境的完整步骤

    什么是 HTTPS 我们都知道 Web App 的运行都是建立在网络应用层 HTTP 协议的,HTTP 协议能够进行客户端和服务器之间的请求和返回.但是这个过程是明文传输的,当请求被抓包后传输内容很容易被篡改,这对用户的安全性来说是极其严重的威胁.PWA 应用出于安全性的考虑要求项目必须部署在 HTTPS 环境. 那么 HTTPS 是什么呢? HTTPS 是将 HTTP 置于 SSL/TLS 之上,其效果是加密 HTTP 流量( traffic ),包括请求的 URL.结果页面.cookies.

  • 利用docker搭建web服务环境的方法步骤

    前言 做过开发的人对开发环境的安装.配置应该都不会太陌生,不管你做什么开发,对开发环境都会具有一定的依赖性的.对于 PHP 的 Web 开发来说,开发环境至少要有一个 Web 服务器(如 Apache.Nginx).一个数据库服务器(如 MySQL)和一个 PHP 解析器吧,如果你的 PHP 代码使用的一些扩展,那你还需要给你的 PHP 安装上这些扩展,那样你的 PHP 代码才能够顺利地跑起来.对于一个只想静静地敲代码的开发人员来说,开发环境的安装与配置这种事情,只要经历一次就已经很折腾人了.可

  • centos系统搭建本地yum服务器的方法

    前言 首先特别说明的是,YUM只是为了解决RPM的依赖关系的问题,而不是一种其它的软件安装模式.虽然在centos中可以直接使用yum源,但是也存在着与外网隔绝的现状,因此需要搭建本地yum源,下面来看看详细的方法. 系统:centos 6.5 1.将光盘挂载到/mnt下面 # mount /dev/cdrom /mnt 2.删除系统自带的repo文件 # cd /etc/yum.repos.d/ # mkdir bak # mv *.repo bak 3.安装createrepo(其实只要安装

  • 利用nginx搭建静态资源服务器的方法步骤

    以windows为例,linux其实一样: 搭建静态资源服务器 我电脑上的work文件夹下面有很多图片,我想通过nginx搭建静态资源服务器,通过在地址栏输入ip+port的方式完成目录的映射 找到nginx安装目录,打开/conf/nginx.conf配置文件,添加一个虚拟主机 添加监听端口.访问域名 重点是添加location, 映射-URL:/work/; 注意:如果当前server模块中已有一个location且URL为"/",那么新建的location的url应为匹配路径,不

  • 在windows上用nodejs搭建静态文件服务器的简单方法

    在windows上用nodejs搭建一个静态文件服务器,即使你一点基础没有也能学会nodejs静态文件服务器的搭建,本文介绍的非常详细,很适合零基础入门的朋友学习. 首先安装nodejs: •新建一个node文件夹 •下载node.exe到该文件夹 •下载npm然后解压到该文件夹 •现在node文件夹是这样的 •把该目录加入到path环境变量 •在命令行执行 node -v npm -v 如果得到了版本号则表示nodejs安装完成 •在命令行中执行 npm config set registry

  • linux通过挂载系统光盘搭建本地yum仓库的方法

    1.挂载光盘 [root@localhost ~]# mount /dev/cdrom /media/cdrom/ mount: /dev/sr0 写保护,将以只读方式挂载 /dev下的cdrom目录是事先创建好的 2.修改yum配置文件(文件位置:/etc/yum.repos.d) [root@localhost /]# cd /etc/yum.repos.d/ [root@localhost yum.repos.d]# mkdir bak #创建一个文件夹来存放多余的配置文件 [root@l

  • 在云服务器上使用iis搭建一个ftp站点的方法图解

    如果你的服务器还没安装ftp功能,册需要先安装ftp服务: 1.打开服务器管理器>添加角色和功能 2.安装完以后打开iis管理器,我这里安装的是iis6 3.右键'网站'>添加ftp站点 设置名字和物理路径 4.选择ip 5.选择权限:读取.写入:基本身份验 完成 现在可是试着在pc端链接ftp,使用leadftp leadftp解压后可直接使用,选择站点>站点管理器 输入服务器ip,登录服务器时的用户名和密码链接,默认端口是21 左侧是你本地地址,右侧是服务器ftp地址,可双击上传或下

  • linux服务器上使用nginx访问本地静态资源的方法

    1.查看80端口是否被占用,一般80端口多被apache服务占用. netstat -anp|grep 80 2.修改apache服务的端口号 vim /etc/apache2/ports.conf 3.将端口号修改为8080 4.修改nginx服务配置 vim /etc/nginx/conf.d/nginx.conf 5.重启nginx服务 service nginx restart 6.页面尝试访问本地资源 7.访问成功! 总结 以上所述是小编给大家介绍的linux服务器上使用nginx访问

随机推荐