先決條件
安裝jdk
安裝
下載hadoop發佈包(apache官網)
解壓下載後的壓縮包
運行hadoop程序前指定JAVA_HOME,如果系統JAVA_HOME環境變量已經正確設定則無需進行其他配置,通常在/etc/profile啓動腳本中設置。
創建一個指向hadoop安裝目錄的環境變量HADOOP_INSTALL,並將其加入PATH;
輸入hadoop -version驗證安裝是否成功。
配置
hadoop的各個組件均用xml配置:
core-site.xml配置Common組件
hdfs-site.xml配置HDFS屬性
mapred-site.xml配置MapReduce屬性
這些配置文件在conf子目錄中
Hadoop運行模式
獨立模式(standalone)
無需任何守護進程,所有程序運行在一個JVM中,調試方便,適用於開發階段。
僞分佈模式(pseudo-distributed model)
Hadoop守護進程運行在本地機器上,模擬一個小規模集羣
完全分佈式模式(fully-distributed model)
Hadoop守護進程運行在一個集羣上。
在特定模式中運行Hadoop,需要關注兩個因素:正確設置屬性和啓動Hadoop守護進程。
在本機模式下使用本地文件系統與本地Mapreduce作業運行器。在分佈式模式下啓動HDFS和MapReduce守護進程。
不同模式屬性設置見下圖所示:
本機模式
由於默認配置文件專爲本模式所設置,所以無需進行其他設置。
僞分佈式模式
分別按上圖設置core-site.xml,hdfs-site.xml,mapred-site.xml文件。
配置SSH
在僞分佈模式下必須啓動守護進程,而啓動守護進程的前提是已經安裝SSH,Hadoop不區分僞分佈模式和完全分佈模式,它只是啓動集羣主機集(slave文件定義)的守護進程:SSH-ing到各個主機並啓動一個守護進程。在僞分佈模式下,主機就是本地計算機。必須確保可以SSH到本地主機,且不需要密碼即可登錄。
格式化HDFS文件系統
在使用hadoop前必須格式化一個全新的HDFS。通過創建存儲目錄和namenode持久化數據結構的初始版本,格式化過程中創建一個空的文件系統。由於namenode管理文件系統的元數據,而datenode可以動態的加入或離開集羣,因此格式化過程中不包括datanode。同樣,用戶也無需關注文件系統規模,集羣中datanode的數量決定文件系統的規模。
格式化文件系統鍵入如下命令:
hadoop namenode -format
啓動和終止守護進程
爲啓動守護進程鍵入如下命令:
start-dfs.sh
start-mapred.sh
本地計算機將啓動三個守護進程:namenode,輔助namenode以及datanode。可以瀏覽logs目錄中的日誌文件檢查啓動是否成功,或通過web頁面:在 http://localhost:50030/查看jobtracker或在http://localhost:50070/查看namenode.此外java的jps命令也能查看守護進程是否在運行。
終止守護進程鍵入如下命令:
stop-dfs.sh
stop-mapred.sh