[大数据学习研究]1.在Mac上利用VirtualBox搭建本地虚拟机环境

摘要:
首先,我们使用虚拟机在本地计算机上构建Linux环境。对于Linux系统,我选择CentOS,在VirtualBox中创建一个新的虚拟机,并从CD-ROM驱动器中选择CentOS系统的下载ISO文件,这样虚拟机启动后就可以进入CentOS的安装。4.网络环境配置遇到陷阱。这里我们需要讨论成功安装Linux后的网络设置。首先,我们希望Linux虚拟机能够连接到Internet,以便将来更容易下载组件。
  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.png
image.png
3. 虚拟机中安装CentOS

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

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

[大数据学习研究]1.在Mac上利用VirtualBox搭建本地虚拟机环境第2张

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

[大数据学习研究]1.在Mac上利用VirtualBox搭建本地虚拟机环境第3张

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

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

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

4.1 Linux虚拟机连接互联网

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

[大数据学习研究]1.在Mac上利用VirtualBox搭建本地虚拟机环境第4张

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

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

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

systemctl restart network

[大数据学习研究]1.在Mac上利用VirtualBox搭建本地虚拟机环境第5张

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

[大数据学习研究]1.在Mac上利用VirtualBox搭建本地虚拟机环境第6张

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

[大数据学习研究]1.在Mac上利用VirtualBox搭建本地虚拟机环境第7张

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

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

[大数据学习研究]1.在Mac上利用VirtualBox搭建本地虚拟机环境第8张

[大数据学习研究]1.在Mac上利用VirtualBox搭建本地虚拟机环境第9张

这时候如果你在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.

[大数据学习研究]1.在Mac上利用VirtualBox搭建本地虚拟机环境第10张

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

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

[大数据学习研究]1.在Mac上利用VirtualBox搭建本地虚拟机环境第11张

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

4.3关闭Linux防火墙

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

[大数据学习研究]1.在Mac上利用VirtualBox搭建本地虚拟机环境第12张

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

 systemctl disable firewalld
systemctl status firewalld

  

[大数据学习研究]1.在Mac上利用VirtualBox搭建本地虚拟机环境第13张

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

[大数据学习研究]1.在Mac上利用VirtualBox搭建本地虚拟机环境第14张

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

免责声明:文章转载自《[大数据学习研究]1.在Mac上利用VirtualBox搭建本地虚拟机环境》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇安装Datax可视化页面linux(1):VMware虚拟软件下安装centos6.8下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Qt开源作品30-农历控件

一、前言 农历控件在国产linux中必备的控件之一,毕竟要适应国人的习惯,你看win10系统的日历,现在点开来直接就有农历在上面,非常方便人性化,所以在很多用Qt做的项目中,也有农历控件的应用场景,而Qt自带的日历控件比较简单,仔细看过源码的人也只知道,其实就是一堆微调框,下拉框,表格组成的,于是打算借用此方法造一个农历控件,本控件的算法是倪大侠提供的,个...

剖析 Linux hypervisor

hypervisor 之于操作系统类似于操作系统之于进程。它们为执行提供独立的虚拟硬件平台,而虚拟硬件平台反过来又提供对底层机器的虚拟的完整访问。但并不是所有 hypervisor 都是一样的,这是件好事,因为 Linux 就是以灵活性和选择性著称。本文首先简要介绍虚拟化和 hypervisor,然后探索两个基于 Linux 的 hypervisor。 虚...

CentOS 6.9关闭NetworkManager服务

说明:安装了图形界面init5级别的系统会自动安装NetworkManager进行网络管理。这东西有点难搞,所以可以把它禁掉。 配置: #停止NetworkManager service NetworkManager stop #关掉开机启动服务 chkconfig NetworkManager off #重启网络 service network...

XShell/Xftp 无法连接 Ubuntu20

环境 Ununtu:20 VMware Workstation:15.5 问题 在虚拟机VMware下,Xshell/Xftp 模式连不上虚拟机 解决方案 ubuntu 初始安装,默认 ssh 只安装客户端(即只能 ssh 连接其他主机),没有安装服务端(即不能被其他主机ssh 连接本机),所以在此情况下,Xshell 连接虚拟机失败。 需要操作:...

EF Core 难道不支持GroupBy吗?

   最近在修改一个.NET Core的项目,其中ORM用的EF Core,在一次查询分页中,遇到了一个很奇怪的问题,每次查询都很慢,明明已经按照某个编号字段Group By并且还做了分页,为啥查询还这么的慢呢? 首选我想当的解决方案就是为 每个条件查询字段添加索引,但是依然无效,还是很慢;然后查看log日志,仔细核对EF生成的sql,发现了生成的sql根...

php使用curl下载指定大小的文件

    php中使用基于libcurl的curl函数,可以对目标url发起http请求并获取返回的响应内容。通常的请求方式类似如下的代码: public function callFunction($url, $postData, $method, header='') { $maxRetryTimes = 3; $curl = curl_...