零基礎(chǔ)學(xué)習(xí)hadoop,沒有想象的那么困難,也沒有想象的那么容易。從一開始什么都不懂,到能夠搭建集群,開發(fā)。整個過程,只要有Linux基礎(chǔ),虛擬機(jī)化和java基礎(chǔ),其實(shí)hadoop并沒有太大的困難。下面整理一下整個學(xué)習(xí)過程,給大家一個參考。
零基礎(chǔ)學(xué)習(xí)hadoop,沒有想象的那么困難,也沒有想象的那么容易。從一開始什么都不懂,到能夠搭建集群,開發(fā)。整個過程,只要有Linux基礎(chǔ),虛擬機(jī)化和java基礎(chǔ),其實(shí)hadoop并沒有太大的困難。下面整理一下整個學(xué)習(xí)過程,給大家一個參考。
首先我們要了解hadoop是什么?Hadoop能夠做什么?Hadoop的使用場景是什么?Hadoop和大數(shù)據(jù)、云計算的關(guān)系是什么?如何使用hadoop?
當(dāng)大家對這些問題有了基本的了解之后,接下來我們就要系統(tǒng)性的學(xué)習(xí)hadoop了。我個人建議大家不要一味的去學(xué)習(xí)理論知識,最好是理論和實(shí)踐相結(jié)合,可以先跟著視頻和文檔去操作,先把偽分布式集群搭建起來,把wordcount實(shí)例運(yùn)行起來,對hadoop集群的搭建過程和運(yùn)行機(jī)制有個大概的了解和認(rèn)知,然后從操作的過程中去發(fā)現(xiàn)自己在哪方面是薄弱點(diǎn),有針對性的去彌補(bǔ),這樣學(xué)習(xí)就會更有針對性和目的性,學(xué)習(xí)效果也相對會更好一些,否則學(xué)習(xí)會很盲目、很痛苦的。
我們知道hadoop有單機(jī)模式,偽分布模式和分布式模式。同時hadoop的環(huán)境是Linux,所以我們還需要安裝Linux系統(tǒng)。因?yàn)槲覀兊牧?xí)慣是使用windows,所以對于Linux上來就安裝軟件之類的,困難程度會很大。并且我們要搭建集群,需要多臺硬件的,不可能為了搭建集群,去買三臺電腦。所以從成本和使用的角度我們還需要懂虛擬化方面的知識。這里的虛擬化其實(shí)就是我們需要懂得虛擬機(jī)的使用。因?yàn)閔adoop安裝在Linux中,才能真正發(fā)揮作用。所以我們也不會使用windows。
基于以上內(nèi)容。所以我們需要懂得
虛擬化Linuxjava基礎(chǔ)下面我們來詳細(xì)介紹:
虛擬化:我們選擇的是VMware Workstation,這里就要求我們會搭建虛擬機(jī),安裝linux(如centos)操作系統(tǒng),這方面只要按照視頻操作應(yīng)該還是很簡單的,難點(diǎn)在于虛擬機(jī)網(wǎng)絡(luò)的配置,尤其是nat模式和bridge模式,因?yàn)閔adoop要求主機(jī)與虛擬機(jī)與外部網(wǎng)絡(luò)(能上網(wǎng)),這三者是相通的,都能夠連接上網(wǎng)絡(luò),只有這樣在安裝的過程中,才不會遇到麻煩。
Linux:對于Linux的學(xué)習(xí)也是一個過程,因?yàn)榭赡苣氵B最簡單的開機(jī)和關(guān)機(jī)命令都不會,更不要談配置網(wǎng)絡(luò)。常用的linux命令也就20多種,我們需要做的就是在搭建集群的過程中不斷地加強(qiáng)練習(xí),在實(shí)踐中去記憶。但是我們會遇到各種不會的命令,即使能查到命令,我們也不能使用。為什么會這樣,因?yàn)橛械拿睿切枰褂冒惭b包的。所以我們也要學(xué)會如何下載安裝包。
我們需要使用一些命令,進(jìn)行網(wǎng)絡(luò)配置,但是在網(wǎng)絡(luò)配置中,這里面又必須懂得虛擬機(jī)的一些知識,所以前面的虛擬機(jī)知識需要掌握扎實(shí)一些。
對于有l(wèi)inux基礎(chǔ)的學(xué)員也可以選擇hadoop運(yùn)維工程師作為職業(yè)選擇。
提醒大家切忌浮躁,我們不可能一兩天就能完成上面的所有內(nèi)容,我們至少需要花費(fèi)一周的時間不斷地去訓(xùn)練、強(qiáng)化。只要我們熟悉了Linux命令,熟悉了網(wǎng)絡(luò)知識。后面我們的學(xué)習(xí)才會很輕松,很快速。
通過以上的學(xué)習(xí)我們已經(jīng)會安裝集群了,那么接下來我們就需要進(jìn)入開發(fā)階段。開發(fā)零基礎(chǔ),該怎么辦呢?
hadoop編程是一個Java框架,同時也是編程的一次革命,使得傳統(tǒng)開發(fā)運(yùn)行程序由單臺客戶端(單臺電腦)轉(zhuǎn)換為可以由多個客戶端運(yùn)行(多臺機(jī)器)運(yùn)行,使得任務(wù)得以分解,這大大提高了效率。
Hadoop既然是一個Java框架,因此就要求我們必須要懂Java,網(wǎng)上有大量的資料,所以學(xué)習(xí)Java不是件難事。但是學(xué)到什么程度,可能是我們零基礎(chǔ)同學(xué)所關(guān)心的。
Java:我們需要具備javaSE基礎(chǔ)知識,暫時不需要java Web及各種框架知識。如果沒有javaSE基礎(chǔ),建議在學(xué)習(xí)hadoop之前或過程中要加強(qiáng)這方面的學(xué)習(xí)和訓(xùn)練。當(dāng)然有java基礎(chǔ)和開發(fā)經(jīng)驗(yàn)的學(xué)員學(xué)習(xí)hadoop就會更快速、更輕松。