近期爲一些用戶培訓Hadoop技術,最近也有一些同事、網友開始向我諮詢這一方面的問題,很多初學者很難理清Hadoop到底是什麼,甚至Hadoop與虛擬化、雲計算的關係。
這裏給出一個漸進式的學習與進階方案:
(1)先搭建一個單節點的 Hadoop平臺,先將那些疑問放一邊,先去學習如何搭建這個平臺;
(2)嘗試用Hadoop管理各類文件,嘗試將數據存放於其非關係型數據庫中,嘗試編寫一個MapReduce程序,通過些步驟,能夠大概的認識到Hadoop是一個海量的數據、文件的存放平臺,上面提供了各種通用的工具以幫助用戶更好的去分析、應用與處理這些數據與文件;
(3)考慮一個問題:如果當前有一個任務交給你,去實現一個TB、乃至PB級數據的海量存取與快速查詢,你最後如果實現了這一任務,其實就是實現了一個專用任務的Hadoop平臺,考慮到未來有很多類似的任務,將你的專用Hadoop平臺改造成通用性平臺,以方便其他用戶使用,那你可能就真正實現了一個類似於Hadoop的應用系統。用這樣的思維去看待Hadoop可能會讓用戶理解的爲更透徹,另外當用戶對這個認識模糊時,大可以不用太擔心,這多半是由於當前的實際工作可能還用不上,如果真碰到這樣的大數據處理,通過思考就能很快理解Hadoop的好處。
(4)實現多節點的安裝與部署,並嘗試設置節點失效,看一下如何去管理與調度、監測任務的執行。
(5)實現大批量專用工具部署,並嘗試實現1萬個文件的存取、數千萬數據的寫入與查詢,再去重新認識一下Hadoop。
(6)嘗試在工作中開始實現Hadoop。