MapReduce集群设置与开发环境配置

MapReduce集群设置与开发环境配置

MapReduce集群

概述

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

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

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

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

      

       MapReduce通过Yarn运行的,所以在执行MapReduce之前需要通过start-yarn.sh命令启动yarn。

 

设置yarn环境

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

在yarn-env.sh中,找到# exportJAVA_HOME=…

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

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

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

 

MapReduce配置

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

修改mapred-site.xml,添加以下3个配置项

<property>

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

      <value>yarn</value>

</property>

<property>

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

       <value>tmaster:10020</value>

</property>

<property>

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

       <value>tmaster:19888</value>

</property>

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

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

 

 

 

yarn配置

打开yarn-site.xml,添加

<property>

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

       <value>tmaster</value>

</property>

<property>

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

       <value>mapreduce_shuffle</value>

</property>

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

第2个指定shuffle服务

 

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

 

启动

执行start-yarn.sh命令。

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

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


MapReduce开发环境

概述

       在正式环境下,MapReduce应用是发布到集群中执行的(需要打成Jar包,提交到集群中);但开发时,通过在本地执行可以更方便地观察程序的打印输出,甚至对程序进行调试。

 

更新Hadoop-Common

       MapReduce本地执行时,需要使用接近的Hadoop-Common版本,所以需要下载hadoop-common-2.7.x,并且更新Windows系统的HADOOP_HOME环境变量与2.7.4集群相配合。大体过程是:

       解压hadoop-common-2.7.1-bin-master压缩包

       更新Windows系统的HADOOP_HOME环境变量

       将文件夹中的hadoop.dll复制到C:\Windows\System32

 

设置HadoopEclipse插件

       因为要频繁地操作HDFS文件,所以最好使用Eclipse进行开发,而且使用Eclipse插件还可以更方便地解决Hadoop依赖jar包的问题,以及提供了Hadoop的项目透视图。

按照之前的文档设置好插件,注意:

 

      

       检查Eclipse的Windows à Proferencesà Hadoop Map/Reduce的Hadoop installationdirectory是否设置为hadoop-2.7.4

3安装包的解压位置(注意不是Hadoop-Common)。

 

创建MapReduce项目

使用插件提供的功能创建项目

推荐用这种方法创建项目。

在Eclipse中File à New à Project…选择Map/Reduce Project。

       创建好之后,MapReduce所需Jar已经自动导入(可以看到导入了很多Jar包):

 

手动创建项目

       适用于没有插件的情况(如使用Intellj IDEA),比较麻烦,可以尝试一下。

创建普通Java项目。

添加Jar包:在项目上点右键Build Path à Config Build Path..或Properties 选择Java Build Path。选择Add Library à UserLibrary

把hadoop-common、hadoop-hdfs、hadoop-mapreduce、hadoop-yarn都以同样的方式添加成User Library。最终的效果是:

   

启动历史服务器记录:

mr-jobhistory-daemon.shstart historyserver

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值