大資料系列零基礎由入門到實戰

小潘979發表於2018-07-03
零基礎學習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 

新手指導windows使用虛擬機器安裝Linux(ubuntu):包括下載及安裝指導
上面的帖子很齊全,包括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
複製程式碼
上面命令迎刃而解。一個vim,一個vi。在我們剛接觸這些肯定雲裡霧裡,所以你需要首先有成就感,然後在慢慢接觸。下面都是經過實踐的內容,也算是經驗,大家可以參考。

雲技術基礎:學習hadoop使用零基礎linux(Ubuntu)筆記

搭建叢集必知:Linux常用命令及修改檔案總結(不斷更新)    

Linux網路介面ifconfig命令及認識網路介面lo

linux入門詳細介紹


虛擬機器安裝linux網路配置資料大全


解決遇到Linux網路配置,從熟悉網路配置檔案入手(大體瞭解即可)


linux入門大全:包括零基礎入門,Linux詳細介紹


Linux重啟方式init 0 init1 init 3 init 5 init 6 這幾個啟動級別都代表什麼意思?

Ubuntu常用命令總結及修改DNS的多種方法總結

Linux關機各種關機命令總結


Linux基礎必懂:eth0,eth1,eth2,lo是什麼意思?

此篇文章幫助認識網路卡,判斷網路卡是否啟動,對於網路的也算是常識。

--------------------------------------------------------------------------------------------------------------------------------------------


linux中pwd命令詳解
這是瞭解你所處路徑的,起到輔助的作用。


linux之vi編輯器
此篇文章較為關鍵,因為經常用到,而且需要熟悉
編輯模式
命令模式
如何儲存,如何退出等各種操作





linux yum命令詳解


Linux下chkconfig命令詳解
熟悉他的作用就是能夠檢視軟體安裝是否成功


2.1、Linux安裝hadoop

上面切記浮躁,因為這也是上面一到兩個月的總結。我們不可能一天兩天就能完成。所以上面需要我們經過最起碼完全一週的時間。我們熟悉了Linux命令,熟悉了網路知識。後面我們進行的快多了。

部署叢集,首先需要安裝java,然後安裝hadoop。

首先我們還是從零基礎開始。

我們需要下載和本地電腦相匹配的jdk,是32位的下載32位,是64位的下載64位。這裡我們從最簡單的入手。在這過程中,可能遇到問題的是環境變數的配置,造成命令不能識別。而這裡你需要學習新的Linux知識。不過如果前面你已經配置完網路,有了這個基礎,在學習新的知識,壓力明顯變小了。

下面給大家分享一下,在Linux中如何安裝Java和hadoop。
hadoop2搭建參考hadoop2.2完全分散式最新高可靠安裝文件



Hadoop安裝過程:Hadoop單機環境搭建權威指南(ubuntu) 


安裝完畢,我們該怎麼用,該怎麼測試安裝成功。

叢集安裝完畢,該如何測試和使用叢集-hadoop單機



通過上面帖子,我們很容易安裝完成,如果是剛熟悉Linux,需要補充下面知識,才能順利完成。

linux中Java jdk環境變數的含義

linux(ubuntu)安裝Java jdk環境變數設定及小程式測試



Linux中source命令學習










今天在寫點內容,以上我們們已經會安裝叢集了,那麼我們就需要進入開發了。開發零基礎,該如何,我們們提供了相關的內容分別介紹下面文章
學習hadoop----java零基礎學習線路指導視訊(1)
這一篇我們使用什麼開發工具,甚至考慮使用什麼作業系統。然後就是Java基礎知識篇,包括變數、函式等。

學習hadoop---Java初級快讀入門指導(2)
第一篇是屬於思想篇,那麼這一篇屬於實戰篇,通過不同的方式,交給你怎麼編寫第一個小程式。

Java零基礎:一步步教你如何使用eclipse建立專案及編寫小程式例項
由於上面沒有真正抽象出eclipse的使用,所以這裡專門介紹了使用eclipse如何建立專案,及如何編寫小程式例項


java基礎:eclipse程式設計不得不知道的技巧
eclipse基本知識會了之後,我們在專案,這些技巧相當有用,而且經常用到


hadoop開發方式總結及操作指導
這是第三篇,我們上面熟悉之後,就可以開發hadoop。但是因為hadoop是屬於分散式,所以如果對Java越是熟悉,可能產生的問題就會越多。這裡總結了hadoop的開發方式。

相關文章