網絡上充斥着大量Hadoop1的教程,版本老舊,Hadoop2的中文資料相對較少,本教程的宗旨在于從Hadoop2出發,結合作者在實際工作中的經驗,提供一套最新版本的Hadoop2相關教程。
為什麼是Hadoop2.2.0,而不是Hadoop2.4.0
本文寫作時,Hadoop的最新版本已經是2.4.0,但是最新版本的Hbase0.98.1僅支援到Hadoop2.2.0,且Hadoop2.2.0已經相對穩定,是以我們依然采用2.2.0版本。
一. Hadoop安裝(僞分布式)
1. 作業系統
Hadoop一定要運作在Linux系統環境下,網上有windows下模拟linux環境部署的教程,放棄這個吧,莫名其妙的問題多如牛毛。
2. 安裝JDK
1> 下載下傳并解壓JDK
我的目錄為:/home/apple/jdk1.8
2> 配置環境變量
打開/etc/profile,添加以下内容:
執行source /etc/profile ,使更改後的profile生效。
執行以下指令,賦予JDK運作的權限:
3> 檢測JDK環境
執行 java –version ,檢視結果,如看到版本資訊,則表明配置成功。
3. 安裝SSH
1> 檢驗ssh是否已經安裝
Ubuntu系統可以通過如下指令來檢視ssh是否已經安裝:
netstat -an| grep 22
如果已安裝,可跳過第二步。
2> 安裝ssh
Ubuntu系統可以通過如下指令來安裝ssh:
sudo apt-get install ssh
3> 配置ssh免密碼登入
通過如下指令來配置ssh免密碼登入:
輸入如下指令驗證免密碼登入是否成功:
ssh localhost
成功登陸,可顯示welcome資訊。
4. 安裝Hadoop
1> 下載下傳并解壓
我的目錄為:/home/apple/hadoop-2.2.0
2> 配置環境變量
打開/etc/profile,添加以下内容:
執行source /etc/profile ,使更改後的profile生效。
執行以下指令,賦予Hadoop運作的權限:
3> 配置Hadoop
修改$HADOOP_HOME/etc/hadoop目錄下的配置檔案。
core-site.xml添加以下内容:
hadoop-env.sh修改以下内容:
export JAVA_HOME=/home/apple/jdk1.8
hdfs-site.xml添加以下内容:
這裡的兩個位址,是你namenode和datanode兩個節點上,希望hdfs檔案存儲的位置。
mapred-site.xml.template改為mapred-site.xml,添加以下内容:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
yarn-site.xml添加以下内容:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
4> 啟動并驗證
用如下指令啟動或關閉Hadoop:
如果一切正常,使用jps指令你會看到如下資訊:
2499 ResourceManager
2965 Jps
2616 NodeManager
2186 DataNode
2075 NameNode
2363 SecondaryNameNode
2669 JobHistoryServer
通路8088端口可以檢視job資訊,通路50070端口可以檢視namenode資訊。