MapReduce 程序运行方式:
本地运行模式:Eclipse 开发环境下本地运行,好处是方便调试和测试
要点一:MapReduce 程序是被提交给 LocalJobRunner 在本地以单进程的形式运行 要点二:数据输入输出可以在本地,也可以在 HDFS 要点三:怎么实现本地运行?在你的 MapReduce 程序当中不要带集群的配置文件(本 质就是由mapreduce.framework.name和yarn.resourcemanager.hostname两个参数决定) 要点四:要想实现本地运行,还得做一件事:给 eclipse 安装 hadoop, 有两种方式处理: 1、这个 hadoop 安装必须是 hadoop 在 windows 平台上编译的对应版本。 需要在 windows 本地配置环境变量: %HADOOP_HOME% = ![](https://i-blog.csdnimg.cn/blog_migrate/cc9cf659866d392c480d40e7f9d408fe.png) 2、这个 hadoop 也可以 apache 官网的安装包,也可以是其他平台编译的,但是需要 windows 平台运行的其他工具支持。
![](https://i-blog.csdnimg.cn/blog_migrate/7c518e1c2e56a0971e9fae007e99092d.png) Stay hungry Stay foolish -- http://blog.csdn.net/zhongqi2513 然后,寻找对应 hadoop 版本的 hadoop.dll 和 winutils.exe 文件,分别做如下处理: 1、hadoop.dll 放置在 c:/windows/system32 文件夹中 2、winutils.exe 放置在$HADOOP_HOME/bin 目录中 3、给 eclipse 配置 hadoop 安装目录, windows preferences Hadoop Map/Reduce Hadoop Installation Direcotry 然后重启 eclipse 即可 |
|
集群运行模式:打 jar 包,提交任务到集群运行
要点一:首先要把代码打成 jar 上传到 linux 服务器 要点二:用 hadoop jar 的命令去提交代码到 yarn 集群运行 要点三:处理的数据和输出结果应该位于 hdfs 文件系统 要点四:如果需要在 windows 中的 eclipse 当中直接提交 job 到集群,则需要修改 YarnRunner 类,这个比较复杂,不建议使用 综合以上两种方式的的运行发现,第 1 种和第 2 种比较方便做调试。 |