研究學習大數據,天然要從Hadoop開始。 Hadoop不是一個簡單的軟件,而是有一些列軟件造成的生態,其核心思想來自Google當初發佈的三篇論文,後來作了開源的實現, 谷歌的實現和Hadoop的實現大體能夠作這樣的對應:linux
Google Map/Reduce <---> Hadoop MapReduce
Google GFS <---> Hadoop HDFS
Google BigTable <---> Hadoop HBase服務器
Hadoop生態的全部組成部分,都是跑在linux環境下的,天然咱們首先須要搭建linux環境。另外Hadoop之因此能處理「大」數據,是由於其分佈式的特性,能夠利用分佈式計算構建服務器集羣,並可根據須要擴展。爲了學習,咱們先在本地計算機上利用虛擬機搭建linux環境,要模型集羣環境,就多建立幾個虛擬機就能夠了。網絡
爲了玩兒這套東西,由於要建立幾個虛擬機,因此的你的電腦內存最好不小於8G,由於跑Hadoop通常一個虛擬機須要2G,隨便開3臺虛擬機就佔很多內存了。 不過前期爲了學習,我先只給每臺虛擬機分配1G內存,後面不夠了在調整就好了。ssh
提起虛擬機,天然首先想到的就是大名鼎鼎的VMware。 VMware是老牌虛擬機軟件,網上教程也不少。我之因此選用VirtualBox,主要是由於license的問題。 我手頭只有一臺MacBook pro, 不想話太多時間在軟件license上折騰,因此選擇了免費的VirtualBox. VirtualBox的安裝過程乏善可陳,就是常規操做,不說了。分佈式
前面提到,個人主力計算機是一臺MacBook Pro. 以前爲方面,利用Parallel Desktop虛擬了一臺Windows 出來,這裏不提。oop
linux系統我選擇了CentOS,首先從CentOS官網下載系統的ISO文件。在VirtualBox裏新建一個虛擬機,類型選Linux,版本隨便選一個就好了,由於裏面沒有看到有CentOS,不過隨便選一個也沒問題。 注意最好選一下文件夾,也就是虛擬機文件存放的位置,由於隨着裝的東西愈來愈多,虛擬機文件可能會愈來愈大。個人電腦硬盤都快撐滿了,因此掛了個外接硬盤,把虛擬機文件放在了外接硬盤上,須要時插上用,雖然不方便,但也只好將就了。學習
其餘參數能夠都按默認,虛擬機建立成功後,點設置,切換到存儲,在光驅那裏選擇下載的CentOS系統的ISO文件,這樣虛擬機啓動後就能夠進入CentOS的安裝了。大數據
安裝CentOS7 操做系統也不說了,都是圖形化界面,沒什麼難度。spa
Linux安裝成功後的網絡設置這裏須要說一下,我在這上面踩了很多坑。我但願個人網絡環境是這樣的。首先咱們但願Linux虛擬機可以鏈接互聯網,這樣之後須要下載什麼組件時能方便些。其次但願能用Host機器也就是MacBook中訪問到Linux虛擬機,以便ssh登陸上去。VirtualBox默認的小窗口實在很小,看着眼花,雖然也能夠調大,但畢竟在宿主下操做更方便些,因此仍是須要從MacBook上ssh過去。可是請注意,CentOS剛剛安裝完成後是不能聯網的,還須要作相關的設置才行。操作系統
虛擬機的網絡設置默承認選用「網絡地址轉換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 ,應該發現已經可以聯網了。
另外,但從主機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 訪問虛擬機了。
從上面的設置看到, 主機MacBook 的IP是 192.168.56.1, 虛擬機Linux設置了靜態地址爲 192.168.56.100. 如今已經在一個網段內了,應該內ping通。若是你ping不通,那極可能是防火牆的問題。 首先MacBook要關閉防火牆。
而後確保虛擬機Linux的也關閉防火牆,默認防火牆是開着的。
systemctl disable firewalld systemctl status firewalld
檢查一下ssh服務,默認應該是開着的
你如今應該能從mac的終端經過ssh登陸到linux了。