1. 程式人生 > >零基礎學習Hadoop

零基礎學習Hadoop

原文:http://www.aboutyun.com/thread-6780-1-1.html 零基礎學習hadoop,沒有想象的那麼困難,也沒有想象的那麼容易。在剛接觸雲端計算,曾經想過培訓,但是培訓機構的選擇就讓我很糾結。所以索性就自己學習了。整個過程整理一下,給大家參考,歡迎討論,共同學習。

從一開始什麼都不懂,到能夠搭建叢集,開發。整個過程,只要有Linux基礎,虛擬機器化和java基礎,其實hadoop,沒有太大的困難。



首先整體說一下學習過程給大家借鑑:

首先查閱了資料,什麼是hadoop,至於這方面,你可以參考這個帖子hadoop新手學習指導

。對這個有了整體的認識之後開始下面內容。(新手請務必參考hadoop新手學習指導,否則後面可能看不懂)



我們知道hadoop,有單機安裝,偽分佈安裝和分佈安裝。

同時hadoop的環境是Linux,所以我們還需要安裝Linux系統。因為我們的習慣是使用windows,所以對於Linux上來就安裝軟體之類的,困難度很大。並且我們要搭建叢集,需要多臺硬體的,不可能為了搭建叢集,去買三臺電腦。



從成本和使用我們需要懂虛擬化方面的知識。這裡的虛擬化其實就是我們需要懂得虛擬機器的使用。因為hadoop安裝在Linux中,才能真正發揮作用。所以我們也不會使用windows。



(這裡補充硬體的選擇:最關鍵的是記憶體,2G記憶體是有點卡的,4G有點勉強的,8G用起來順暢)



基於以上內容。所以我們需要懂得

1.虛擬化

2.Linux

3.java基礎



下面來詳細介紹



1.虛擬化

剛開始學習,上來就安裝了虛擬機器wmware station,然後建立虛擬機器,安裝Linux。但是問題來了。虛擬機器的網路難住,因為缺乏這方面的知識,所以不得不停下來,學習虛擬機器的網路,該怎麼搞。虛擬機器網路分為三種:

1.briage

2.host-only

3.nat

這不是很簡單的嗎?網上資料也不少。可是事情並沒有想象的那麼簡單,因為nat雖然能上網,但是虛擬系統無法和本區域網中的其他真實主機進行通訊。橋接模式全都需要手工配置,而且這裡還需要明白自己是本機撥號上網,還是路由撥號上網。host-only建立一個與網內其他機器相隔離的虛擬系統,這個更不行。這些都不適合我們的hadoop叢集。hadoop要求主機與虛擬機器與外部網路(能上網),這三者都是通的,在安裝的過程中,才不會遇到麻煩。


所以這就是虛擬化方面的困難。

下面總結了在虛擬化方面需要做的:





此文章讓你明白為什麼虛擬化,虛擬化的價值



虛擬機器入門二,虛擬機器的三種網路模式





詳細介紹了虛擬化三種網路模式



搭建叢集必備虛擬化網路知識





上面瞭解三種網路模式,這三種網路模式該如何才能上網。



對於上面你可能瞭解的還不夠,下面咱們論壇會員具體實踐指導,可以與他們相互交流:



叢集搭建:主機寬頻撥號上網,虛擬機器使用橋接模式,該如何ping通外網





叢集搭建必備:虛擬機器之一實現Host-only方式上網



叢集搭建必備:nat模式設定靜態ip,達到上網與主機相互通訊





上面是三種不同網路模式下,如何達到,虛擬機器,主機,網路三者互通。



上面的知識具備了我們開始動手:

第一步:下載軟體



VMware Workstation 10.0.0簡體中文正式版官方下載地址

ubuntu-desktop 版:是圖形介面

ubuntu-12.04-desktop-amd64

連結: http://pan.baidu.com/s/1eQxHLFO 密碼: nnkv



上面的帖子很齊全,包括wmware下載Linux桌面版下載。還有安裝指導,包括下面需要講解的Linux安裝指導



第二步:

下載我們就需要安裝和使用



VMware workstation安裝linux(ubuntu)配置詳解



在這裡我們安裝完畢虛擬機器,安裝完畢Linux,我們需要返回第一步,進行網路設定。但是在網路設定中,我們會遇到各種各樣的困難,因為缺乏Linux知識。



同時這裡補充一些虛擬化的基礎知識:

虛擬網絡卡概述





VMware虛擬機器網路設定方法





虛擬機器(Linux作業系統)三種網路模式切換遇到的問題



虛擬機器安裝Linux視訊





2.Linux

2.1、Linux基礎知識




對於Linux的學習也是一個過程,因為可能你連最簡單的開機和關機命令都不會,更不要談配置網路。這裡面給大家提供剛開始學習所查閱的資料和經驗總結。

首先我們需要使用一些命令,進行網路配置,但是在網路配置中,這裡面又必須懂得虛擬機器的一些知識,所以前面的虛擬機器知識需要掌握紮實一些。

對於網路配置:



叢集搭建:主機寬頻撥號上網,虛擬機器使用橋接模式,該如何ping通外網





叢集搭建必備:虛擬機器之一實現Host-only方式上網



叢集搭建必備:nat模式設定靜態ip,達到上網與主機相互通訊





其實還是上面三個,但是我們會遇到各種不會的命令,即使能查到命令,我們也不能使用。為什麼會這樣,因為各種有的命令,是需要使用安裝包的。我們在配置網路過程中,同樣會遇到各種各樣的奇怪的配置。在我們的Linux的系統,不能找到檔案。這裡只舉ubuntu。網路配置檔案/etc/network/interfaces。我們配置完畢之後,有各種網路重啟方式:

  1. /etc/init.d/networking  restart
複製程式碼

這是一種網路重啟方式,但是有時候並不管用。



那麼這時候我們遇到困難了,剛接觸命令不起作用,該怎麼辦?

  1. ifconfig eth0 down
複製程式碼
  1. ifconfig eth0 up
複製程式碼

(這裡同樣需要明白,我這裡使用的是eth0上網的,如果你使用的是eth1,就需要替換成eth1)



上面的兩個命令能達到同樣的效果。



在舉一例:

我們需要配置網路檔案,在很多網路配置是使用下面的命令的

  1. vim /etc/network/interfaces
複製程式碼

但是我們看到下面錯誤

  1. The program vim can be found in the following package:
  2. vim
  3. vim -gnome
  4. vim-tiny
  5. vim-gtk
  6. vim-nox
  7. Try:sudo apt-get install <select package>
複製程式碼

這和我們看到的配置完全不一樣。這是因為我們安裝Linux之後,並沒有安裝vim包。所以我們又遇到了困難。如果你熟悉Linux的話,這個根本不是問題。

  1. vi /etc/network/interfaces
複製程式碼