一、前提
安装jdk,搭建三台虚拟机,配置好ip地址,修改hostname,ssh免密登陆完成,下载hadoop-2.7.2.tar
二、搭建hadoop集群
1.解压hadoop-2.7.2.tar到自己需要的目录下,配置好环境变量
$ sudo vim /etc/profile
export HADOOP_HOME=/usr/hadoop/apps/hadoop-2.7.2
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
$ source /etc/profile
2.修改8个配置文件,四个*-site.xml,三个*-env.sh,一个slaves
1)一个slaves,指定自己三台服务器的hostname
vim slaves
hadoop01
hadoop02
hadoop03
2)三个*-env.sh,分别是hadoop-env.sh,mapred-env.sh,yarn-env.sh
vim hadoop-env.sh
export JAVA_HOME=/jdk-8 #指定自己jdk安装路径
vim mapred-env.sh
export JAVA_HOME=/jdk-8 #指定自己jdk安装路径
vim yarn-env.sh
export JAVA_HOME=/jdk-8 #指定自己jdk安装路径
3)四个*-site.xml
core-site.xml
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/cdh/hadoop/data/tmp</value>
</property>
<!-- Oozie Server的Hostname -->
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<!-- 允许被Oozie代理的用户组 -->
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop03:50090</value>
</property>
mapred-site.xml
<!-- 配置 MapReduce JobHistory Server 地址 ,默认端口10020 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop01:10020</value>
</property>
<!-- 配置 MapReduce JobHistory Server web ui 地址, 默认端口19888 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop01:19888</value>
</property>
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
yarn-site.xml
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop02</value>
</property>
<!-- 日志聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志保留时间设置7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
<!-- 任务历史服务 -->
<property>
<name>yarn.log.server.url</name>
<value>http://hadoop03:19888/jobhistory/logs/</value>
</property>
创建namenode的目录
mkdir -p /usr/hadoop/cdh/hadoop/data/tmp
3.格式化namenode
$ bin/hdfs namenode -format
4.启动集群
启动hdfs文件系统:不同hostname的机器分配的资源不同,启动时候要注意
[ hadoop@hadoop02 ~]$ sbin/start-dfs.sh
启动yarn:
[hadoop@hadoop02 ~] $ sbin/start-yarn.sh
启动历史服务器:
[hadoop@hadoop01 ~] $ sbin/mr-jobhistory-daemon.sh start historyserver
5.验证启动是否成功
jps查看进程:
[hadoop@hadoop01 ~] $ jps
查看页面:
haoop01:9000
集群中运行 jar
$ hadoop fs -mkdir -p /user/hadoop/input
$ hadoop fs -put wcinput/wc.input /user/hadoop/input
$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wcinput wcoutput
在haoop01:9000查看输出目录结果
至此安装完成,谢谢观看!