MapReduce开发环境搭建

1. 概述
在使用UDH 过程中,难免需要开发M apReduce 程序,本文介绍如何搭建基于Eclipse的UDH MapReduce的开发环境。

2. 准备
UDH集群:
这个可以是已经搭建好的远端UDH集群,也可以是本地伪集群,本文就以使用远端UDH集群为例进行说明。
客户端开发环境:
Eclipse+JDK1.7(JDK1.8)

3. Maven Project
MapReduce开发环境搭建_第1张图片

4. 修改远端UDH集群配置
在core-site.xml添加下面配置项(非必需,如果不用mapred,需要自己在UDH 集群中建立用户,并赋权)。
建议通过UDH Manager管理界面添加 ,不然重启服务后,会覆盖已修改配置。
  hadoop.proxyuser.mapred.groups
  *

  hadoop.proxyuser.mapred.hosts
  *
在远端UDH集群的HDFS上建用户目录
# sudo –u hdfs Hadoop fs –mkdir /user/mapred
# sudo –u hdfs Hadoop fs –chown –R mapred:hadoop /user/mapred
5. 下载远端UDH集群配置
/etc/hadoop/conf
从UDH集群上的其中一个主机的目录/etc/hadoop/conf下载hadoop的相关配置文件:hdfs-site.xml、mapred-site.xml、yarn-site.xml、core-site.xml,并覆盖Maven Project中的相关文件 。

6. 修改本地客户端开发环境配置
如果开发坏境是windows,需要在mapred-site.xml 中的添加以下配置项:
  mapreduce.app-submission.cross-platform
  true

7. 打包Map及Reduce类
在本地Eclipse中提交Job,需要先将开发的Map及Reduce类打包,并将jar包上传的远端UDH集群的HDFS上。
# sudo -u hdfs hadoop fs -put /opt/mapreducedemo.jar /usr/mapred/lib/mapreducedemo.jar

8. 客户端调度执行MapReduce(提交Job)
把mapreduce包加载到执行上下文中:
job.addFileToClassPath(new Path("/user/mapred/lib/mapreducedemo.jar"));
指定相关用户执行,详细见源码

9. 输入及结果查看
输入:
[root@bigdata-07 conf]# sudo -u hdfs hadoop fs -ls /user/mapred/input/
Found 1 items
-rw-r--r--   3 mapred hadoop         34 2016-10-26 02:40 /user/mapred/input/txt
结果:
# sudo -u hdfs hadoop fs -cat /user/mapred/output/part-r-00000

你可能感兴趣的:(大数据)