1. 程式人生 > >我的spark學習之路(一)

我的spark學習之路(一)

2016.8.10

其實北京一年,我也一直在考慮我回所到底研究什麼方向,但都只是停留在想想的層次,最終也沒什麼結果,回來老師問了我的想法說,學分散式計算吧,讀博也可以,找工作也好找,文章也好發,我一想,這感情好啊,既符合我搞開發的興趣,文章也不難發,畢業了還有兩個選擇,簡直是三全其美啊。雖然老師給了我兩個月的時間考慮,但是我基本就決定了,我一定要研究這個方向,於是就有了接下來的話題。

一、背景

1.北京打了一年醬油剛回來、什麼都不會。
2.即將面臨開題、壓力山大。
3.老闆告訴我學這個需要高智商,需要學很多東西,需要能堅持下去。

就在這樣的背景下,開始了我的受虐之路

二、迷茫

第一天

自認為程式設計基礎還不錯的我就被虐的像個計算機小白一樣。
以前你伺服器接觸的是什麼型別,Linux?
沒有,沒接觸過。
……
以前你都是用什麼寫網頁的?
javascript。
…….
contOS你瞭解嗎?
昨天在網上剛看到過。
……

那天我被自己並不能聽的懂的英語視訊毒害了一天。

(下午我終於拿到自己的電腦了,但是為什麼是Linux作業系統?我悲劇的發現自己不知道怎麼切換到中文輸入法。)

第二天

這一天我被老師叫去繼續向魏老師學習,我坐在旁邊很迷茫的看著投影,不知道魏老師在幹什麼。後面我就自己上網查資料去了,看了無數的hadoop安裝教程,但是最讓我糾結的還是誰能告訴我centOS,ubuntu,hadoop,
docker,VM這些東西到底什麼關係啊,

這裡寫圖片描述
這是一個在centOS上安裝hadoop的步驟,看到它我首先想的是:不是說安裝hadoop麼,怎麼又成為CDH了,CDH又是什麼鬼?然後是:安裝centOS?centOS不是個作業系統麼,怎麼都安裝vmware了才安裝作業系統,沒有作業系統vmware是怎麼安裝的?相比之下後面的幾步倒是好理解了。
那天我被這樣簡單到白痴的問題折磨了一整天。

三、動手

第三天我在網上找了一個教程決定自己裝。
http://tashan10.com/yong-dockerda-jian-hadoopwei-fen-bu-shi-ji-qun/
這是一個基於Docker安裝hadoop分散式叢集的教程,寫的很詳細,我幾乎照著它一路就作下去了。遺憾的是這一天還是沒弄好。(吐嘈一下,我覺得後面這兩天限制的進度的最大因素是那裡的網太慢了)
第四天,花了一上午的時間終於照著教程做完了,我不知道算不算做好了,拿去專門找魏老師認證了一下,當他告訴我應該算好了的時候,我的想法是好像也不難啊,為什麼吳老師給我看的教程寫的那麼複雜。
晚上回到辦公室把自己做的成果拿出來看了又看,激動之餘發現我的結果好像和教程不太一樣,我執行hadoop dfsadmin -report這個命令後雖然沒有報錯,但顯示我的datanode為0 (正確的應該是2)為了這個問題我把原來做好的容器刪了又做了一次,結果還是不對,最後查了好多資料發現原因是我沒有修改兩個slave的slaves檔案。

hadoop佈署好之後我想是不是該裝spark了(因為我告訴老師hadoop之後他問了我一句:”Spark也裝好了?”)。

有了hadoop的前車之鑑,找個教程直接開裝spark。
先找的是馬踏飛燕——奔跑在Docker上的Spark
雖然照著這個教程做完了,不過這個寫的有點簡單,中間我都是自己估摸的做的,最終也做完了,但開啟spark-shell老是報錯,一直找不到錯誤又重新找了個教程——spark1.6分散式叢集環境搭建
最終照著這個教程完成了spark的佈署

四、我想

回想了自己安裝spark、hadoop的過程,雖然不是一帆風順,但也不算曆盡磨難。hadoop花了兩天的時間,算上解決後面的小問題(沒有datanode)不到三天的時間,而spark花了一天時間就裝好了。
在動手做的過程中,前面讓我迷茫的問題也迎刃而解了。看來任何事情還是要動手啊。
我想,前兩天之所以後迷茫應該是幹任何一行都要經歷的入門階段吧(雖然我現在也不算入門),回想自己剛開始學程式設計不也是那樣。那個時候,聽到的一些名詞都是新的,每一點進步是千難萬難。雖然如此,我想我會繼續下去並努力取得成功。

五、再迷茫

hadoop、spark都裝好了,但是在查資料的過程中,我又看到很多新名詞,所以我再次迷茫了。yarn,zookeeper,hbase,hive,standalon這些都是什麼鬼?和hadoop有什麼關係?我要不要進一步瞭解?剛才和魏老師交流了,他讓我先了解就行了,以後用的時候自然會知道。

時間倉促,保安都上來趕人了,就寫到這兒吧。