學習Hadoop需要哪些預備知識?Java是否必須會?(轉載)

零基礎學習hadoop,沒有想象的那麼困難,也沒有想象的那麼容易。從一開始什麼都不懂,到能夠搭建集羣,開發。整個過程,只要有Linux基礎,虛擬機化和java基礎,其實hadoop並沒有太大的困難。下面整理一下整個學習過程,給大家一個參考。
首先我們要了解hadoop是什麼?Hadoop能夠做什麼?Hadoop的使用場景是什麼?Hadoop和大數據、雲計算的關係是什麼?如何使用hadoop?

當大家對這些問題有了基本的瞭解之後,接下來我們就要系統性的學習hadoop了。我個人建議大家不要一味的去學習理論知識,最好是理論和實踐相結合,可以先跟着視頻和文檔去操作,先把僞分佈式集羣搭建起來,把wordcount實例運行起來,對hadoop集羣的搭建過程和運行機制有個大概的瞭解和認知,然後從操作的過程中去發現自己在哪方面是薄弱點,有針對性的去彌補,這樣學習就會更有針對性和目的性,學習效果也相對會更好一些,否則學習會很盲目、很痛苦的。

我們知道hadoop有單機模式,僞分佈模式和分佈式模式。同時hadoop的環境是Linux,所以我們還需要安裝Linux系統。因爲我們的習慣是使用windows,所以對於Linux上來就安裝軟件之類的,困難程度會很大。並且我們要搭建集羣,需要多臺硬件的,不可能爲了搭建集羣,去買三臺電腦。所以從成本和使用的角度我們還需要懂虛擬化方面的知識。這裏的虛擬化其實就是我們需要懂得虛擬機的使用。因爲hadoop安裝在Linux中,才能真正發揮作用。所以我們也不會使用windows。

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

  • 虛擬化
  • Linux
  • java基礎

下面我們來詳細介紹:

一、

虛擬化:我們選擇的是VMware Workstation,這裏就要求我們會搭建虛擬機,安裝linux(如centos)操作系統,這方面只要按照視頻操作應該還是很簡單的,難點在於虛擬機網絡的配置,尤其是nat模式和bridge模式,因爲hadoop要求主機與虛擬機與外部網絡(能上網),這三者是相通的,都能夠連接上網絡,只有這樣在安裝的過程中,纔不會遇到麻煩。

二、
Linux:對於Linux的學習也是一個過程,因爲可能你連最簡單的開機和關機命令都不會,更不要談配置網絡。常用的linux命令也就20多種,我們需要做的就是在搭建集羣的過程中不斷地加強練習,在實踐中去記憶。但是我們會遇到各種不會的命令,即使能查到命令,我們也不能使用。爲什麼會這樣,因爲有的命令,是需要使用安裝包的。所以我們也要學會如何下載安裝包。

我們需要使用一些命令,進行網絡配置,但是在網絡配置中,這裏面又必須懂得虛擬機的一些知識,所以前面的虛擬機知識需要掌握紮實一些。對於有linux基礎的學員也可以選擇hadoop運維工程師作爲職業選擇。

提醒大家切忌浮躁,我們不可能一兩天就能完成上面的所有內容,我們至少需要花費一週的時間不斷地去訓練、強化。只要我們熟悉了Linux命令,熟悉了網絡知識。後面我們的學習纔會很輕鬆,很快速。通過以上的學習我們已經會安裝集羣了,那麼接下來我們就需要進入開發階段。開發零基礎,該怎麼辦呢?
hadoop編程是一個Java框架,同時也是編程的一次革命,使得傳統開發運行程序由單臺客戶端(單臺電腦)轉換爲可以由多個客戶端運行(多臺機器)運行,使得任務得以分解,這大大提高了效率。

Hadoop既然是一個Java框架,因此就要求我們必須要懂Java,網上有大量的資料,所以學習Java不是件難事。但是學到什麼程度,可能是我們零基礎同學所關心的。

三、

Java:我們需要具備javaSE基礎知識,暫時不需要java Web及各種框架知識。如果沒有javaSE基礎,建議在學習hadoop之前或過程中要加強這方面的學習和訓練。當然有java基礎和開發經驗的學員學習hadoop就會更快速、更輕鬆。


總結一下,hadoop相關有很多學習的方向,內容不同,運維的話熟練掌握Linux, java, python以及hadoop周邊生態軟件的所有原理和配置部署,打patch重新編譯是最低的要求。

開發的話java和算法,SQL熟練是最低要求,python 和C是次要要求。Hbase起碼熟練掌握java,thrift, rest等相關知識。如果把Hadoop最終用於數據挖掘,機器學習,那常用的算法反而比掌握hadoop本身更重要一些,重點看用hadoop來做什麼。


轉載:https://blog.csdn.net/qq_39521554/article/details/79633460

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章