注意:html
1.有關core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml的配置,參考:hadoop2.x的配置java
2.有關hadoop的命令,參考:hadoop2.x的命令node
3.先修改一臺機器的配置文件,剩餘機器的配置都從這臺機器上拷貝。linux
4.安裝前,先優化linxu配置,參考,Linux服務器初始化優化 :https://my.oschina.net/cjun/blog/761282bash
官方編譯好的hadoop是32位的,你須要先本身編譯64位的,才能正確的將hadoop跑在64位的機器上,如何編譯參考以前的編譯文章。服務器
安裝步驟:app
1.安裝hadoop前,需作以下事情:新建用戶,修改host文件,關閉防火牆,安裝jdk,配置好master對各slave的免密碼訪問。oop
2.下載hadoop包,解壓在/home/hadoop/apps/下。測試
3.修改~/.bashrc,添加以下內容優化
export HADOOP_HOME=/home/hadoop/hadoop-2.6.0 #hive會用到 export HADOOP_MAPRED_HOME=${HADOOP_HOME} #sqoop會用到 export HADOOP_COMMON_HOME=${HADOOP_HOME} #sqoop會用到 export HADOOP_HDFS_HOME=${HADOOP_HOME} export YARN_HOME=${HADOOP_HOME} export HADOOP_YARN_HOME=${HADOOP_HOME} export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop #spark on yarn會用到 export HDFS_CONF_DIR=${HADOOP_HOME}/etc/hadoop export YARN_CONF_DIR=${HADOOP_HOME}/etc/hadoop #spark on yarn會用到 export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin
4.進入hadoop的etc/hadoop文件夾,修改hadoop-env.sh,添加JAVA_HOME,此步必定要作,默認的
export JAVA_HOME=${JAVA_HOME}沒效果。
export JAVA_HOME=/home/jdk/jdk1.7.0_25 export HADOOP_PID_DIR=/home/bigdata/data/hadoopdata/pids
同時要修改yarn-env.sh,詳情參考cdh4.7.0安裝配置。
HADOOP_PID_DIR默認是/tmp。hadoop中止的是經過pid來中止的,若是配置在/tmp的話,/tmp會定時清空,若是清空了的話,當你要stop-all.sh時,就會提示:no datanode to stop,因此須要配置。
yarn也須要配置,以下:
修改hadoop-2.0.0-cdh4.7.0/etc/hadoop/yarn-env.sh
export YARN_PID_DIR=/home/bigdata/data/hadoopdata/pids
mapreduce也須要配置,啓動history server時,pid會使用以下配置的路徑,設置以下:
修改hadoop-2.0.0-cdh4.7.0/etc/hadoop/mapred-env.sh
export HADOOP_MAPRED_PID_DIR=/home/bigdata/data/hadoopdata/pids
5.配置etc/hadoop/slaves,配置slaves
host2 host3 host4
6.修改core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml文件,參考:hadoop2.x的配置
7.檢查lib/native包,參考:Unable to load native-hadoop library for your pla
8.集羣各節點時間校準,在每一個節點同時執行命令:date -s "2015-5-8 19:48:00"。
9.將配置拷貝到其餘機器。
10.啓動集羣,參考:hadoop2.x的命令
11.測試安裝是否成功,參考:測試hadoop集羣是否安裝成功:網頁監控頁面和提交job
11.問題彙總
1)啓動集羣時,報org.xml.sax.SAXParseException; systemId: file:/home/hadoop2/apps/hadoop-2.6.0/etc/hadoop/yarn-site.xml; lineNumber: 2; columnNumber: 6; The processing instruction target matching "[xX][mM][lL]" is not allowed.
由於個人-site.xml的配置文件的第一行出現了一個空行,因此出現這個錯誤,因此配置文件裏面,第一行不能有空行(我是用CRT時,使用<發送交互到全部標籤>編輯多個窗口的文件時出現的。)
2)啓動集羣時,報WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
這是由於官方編譯的native library和你本地機器的不兼容,64位的linux裝的hadoop是32位的(感受我下載的是64位和32位一體的,仍是報這個錯),須要手工從新編譯一遍hadoop,因此在安裝前,最好先把hadoop編譯一遍。