MapReduce集群搭建

概述

MapReduce运行在Hadoop集群上。但MapReduce是通过另外一批进程来运行的。HDFS的进程名是NameNode、SecondaryNameNode和DataNode;而MapReduce的进程名(可以通过JPS命令查看)是:

ResourceManager:数据计算资源的总体管理者,地位相当于NameNode。

NodeManager:执行计算的节点,地位相当于DataNode。

注意:ResourceManager和NameNode可以不在同一个机器上。

 

MapReduce通过Yarn运行的,所以在执行MapReduce之前需要启动yarn。

 

设置yarn环境

如果安装JDK时正确设置了JAVA_HOME环境变量,则这一步可忽略。

/usr/local/hadoop/etc/hadoop在yarn-env.sh中,找到# export JAVA_HOME=…

将这一行开头的#注释符去掉

然后设置为正确的JAVA安装位置

本配置及以下配置都先在NameNode上配好,然后分发到各个节点上。

 

MapReduce配置

/usr/local/hadoop/etc/hadoop中

复制mapred-site.xml.template生成mapred-site.xml

cp mapred-site.xml.template mapred-site.xml

 

/usr/local/hadoop/etc/hadoop修改mapred-site.xml,添加以下3个配置项

<property>

        <name>mapreduce.framework.name</name>

       <value>yarn</value>

</property>

<property>

       <name>mapreduce.jobhistory.address</name>

        <value>master:10020</value>

</property>

<property>

        <name>mapreduce.jobhistory.webapp.address</name>

        <value>master:19888</value>

</property>

 

第1个配置指定让yarn管理mapreduce任务

第2、3个指定任务历史记录端口

yarn配置

在/usr/local/hadoop/etc/hadoop中打开yarn-site.xml,添加

<property>

        <name>yarn.resourcemanager.hostname</name>

        <value>master</value>

这里表示yarn存放在master,这里value中的值填什么yarn就在那里

</property>

<property>

        <name>yarn.nodemanager.aux-services</name>

        <value>mapreduce_shuffle</value>

</property>

 

第1个指定ResourceManager在哪个机器上

第2个指定shuffle服务

 

将etc/hadoop目录复制到各个节点

略(推荐使用hadoop-push.sh脚本)

启动

执行start-yarn.sh命令(在这之前确保HDFS已经启动,没有启动的先start-dfs.sh)。

执行成功后,通过JPS检查ResourceManager、NodeManager是否启动。

如果启动成功,通过master:8088可以打开MapReduce“应用”站点:

注意:需要配置本地Windows系统的hosts文件才能在本地使用主机名!

posted @ 2018-10-09 22:05  IT晓白  阅读(256)  评论(0编辑  收藏  举报