第一步:安裝
(1) 下載下傳hadoop包 http://hadoop.apache.org/
(2) 登入需要配置hadoop的伺服器(hadoopsrv01) su -gird(官方建議用grid賬戶搭建)
(3) 解壓 tar -xvf hadoop-2.1.0-bin.tar.gz 到一個目錄比如/home/gird
(4) 進入/home/gird 建立臨時目錄 tmp
(5) 配置 hadoop-env.sh, core-site.xml, hdfs-site.xml,mapred-site.xml ,masters,slaves檔案
(6) 修改hadoop-env.sh 檔案,隻需要設定 export java_home=/usr/java/jdk1.7.0 即可,其他不需要修改。
(7) 修改core-site.xml 檔案,增加以下内容
<property>
<name>default.name</name>
<value>http://hadoopsrv01:9000</value>
</property>
<name>hadoop.tmp.dir</name>
<value>/home/gird/hadoop-2.1.0/tmp</value>
(8) 修改hdfs-site.xml,根據你自己的datanode節點數,設定複制因子。
<name>dfs.replication</name>
<value>2</value>
(9) 修改mapred-site.xml檔案
<name>mapred.job.tracker</name>
<value>hadoopsrv01:9001</value>
(10) 修改masters,slaves 增加namenode,datanode節點配置。
masters:
hadoopsrv01
slaves:
hadoopsrv02
hadoopsrv03
(11) 格式化hadoop叢集 bin/hadoop namenode -format
(12) 啟動叢集 bin/start-all.sh
(13)檢查背景程序是否ok /usr/java/jdk1.7.0/bin/jps
namenode,jobtracker,datanode,tasktracker
如果以上都能看到,就說明hadoop分布式環境搭建好了
第二步:測試
(1) 進入cd /home/gird mkdir input
(2) cd input
(3)通過輸出重定向的方式,新增兩個txt檔案
echo "hi everyone">text1.txt
echo "hi,hadoop">text2.txt
(4) 檢視hadoop hdfs裡是否有東西
cd /home/gird/hadoop-2.1.0/bin/hadoop fs -ls
傳回:ls: cannot access .: no such file or directory
(5)把input目錄下的檔案拷貝到hadoop in目錄下
bin/hadoop fs -put ../put ./in
提示錯誤:
put: org.apache.hadoop.hdfs.server .namenode.safemodeexception: cannot create directory /user/gird/in. name node is in safe mode.
執行:/home/gird/hadoop-2.1.0/bin/hadoop dfsadmin -safemode leave
(6) 執行example jar 進行統計分析。
/home/gird/hadoop-2.1.0/bin/hadoop jar hadoop-examples-2.1.0.jar wordcount in out
(7) 檢視執行輸出檔案。
bin/hadoop fs -cat ./out/part-r-00000
傳回:
hadoop 1
hi 2
everyone 1
第三步:配置ssh驗證
(1) 依次登入登入到 hadoopsrv01,hadoopsrv02,hadoopsrv03,先進行(1),(2),(3)操作,然後進行第(4)步驟操作:
(1):su - grid
(2): ssh-keygen -t rsa 全部預設,直接回車,不需要輸入任何東西。
(3): cd .ssh 進入.ssh目錄
(4):
hadoopsrv01上:
scp id_rsa.pub
hadoopsrv02上:
hadoopsrv03上:
(2) 測試
ssh hostname 如果不需要輸入密碼就證明設定成功了。