注意: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编译一遍。