初學hadoop的心路歷程
在學習hadoop之前,我就明確了要致力于大數(shù)據(jù)行業(yè),成為優(yōu)秀的大數(shù)據(jù)研發(fā)工程師的目標,有了大目標之后要分幾步走,然后每一步不斷細分,采用大事化小的方法去學習hadoop。下面開始敘述我是如何初學hadoop的。
Hadoop學習兩步走:linux學習、hadoop學習。
在接觸hadoop之前我有java基礎,為此我的計劃是首先學習Linux,然后學習hadoop生態(tài)系統(tǒng),為此學習hadoop***步計劃就是學習linux了,然后linux又可以分為四個步驟走。
linux任務***個目標就是要熟練操作linux常用命令以及網(wǎng)絡配置;
第二個目標就是熟悉用戶以及權限管理操作;
第三個目標就是熟悉軟件包以及系統(tǒng)命令管理,第四個就是要學習shell編程了。
Linux系統(tǒng)學習完畢之后,緊接著就是第二個計劃了學習Hadoop。
Hadoop階段分兩步走。
***階段能熟練搭建偽分布式集群以及完全分布式集群,我個人認為先搭建hadoop環(huán)境然后再學習hadoop這樣效果更好。就如同看別人代碼一樣,我們先把別人代碼能跑起來,然后再分析代碼,如果代碼都跑不起來,何談代碼分析,所以先讓hadoop環(huán)境搭建起來,能正常運行wordcount程序,我們才能慢慢分析整個Hadoop生態(tài)系統(tǒng),這樣我們能對hadoop有個整體上的認識。
Hadoop第二階段就是基于***階段的基礎上,再細分幾大階段:
首先***階段整體上認識hadoop生態(tài)系統(tǒng),了解MapReduce分布式計算框架、Yarn集群資源管理和調度平臺、hdfs分布式文件系統(tǒng)、hive數(shù)據(jù)倉庫、HBase實時分布式數(shù)據(jù)庫、Flume日志收集工具、sqoop數(shù)據(jù)庫ETL工具、zookeeper分布式協(xié)作服務、Mahout數(shù)據(jù)挖掘庫;
第二階段學習MapReduce,MapReduce作為hadoop核心內容,要先易后難,首先了解Mapper、Reducer、Configuration、job等這些類,熟悉MapReduce流程圖,然后寫簡單的單詞統(tǒng)計代碼,整體上對MapReduce認識,之后學習MapReduce運行機制,熟練掌握,MapReduce輸入格式,MapReduce輸出格式,以及MapReduce優(yōu)化;
第三階段學習hadoop另一個核心內容HDFS,首先明白什么是hdfs,然后再分析hdfs的優(yōu)點,然后再了解Hdfs的缺點有哪些,HDFS是如何存儲數(shù)據(jù)的,采用什么樣的架構,我們如何實現(xiàn)讀取和寫入HDFS中的文件,以及了解HDFS副本存放策略,同時熟練掌握HDFS的shell訪問和java訪問。
第三階段就是學習hadoop另一個核心內容:Yarn,首先我們要了解Yarn是什么,為什么使用Yarn,Yarn的構架,Yarn的原理。我個人認為,hadoop初學者只要掌握了提供海量數(shù)據(jù)存儲的HDFS,分布式計算的MapReduce,以及集群資源管理和調度平臺的yarn,基本上也就掌握了Hadoop最核心的東西,也為以后的hbase、hive學習打下了堅實的基礎。
以上是我個人學習大數(shù)據(jù)的心路歷程,希望能夠幫到其他人。