目录
1.写在前面
在阅读本博客之前,建议先看看博主的另一篇文章:《Hadoop学习(二)--MapReduce入门》
为什么本地?
如果不在本地运行,你就必须将MapReduce程序打成jar包,放在linux服务器上运行,不方便程序的开发和调试,如果在本地运行,可以直接在eclipse上进行debug调试,极大的方便了程序的开发。
2.搭建环境
下载hadoop二进制压缩包,博主下载的是2.9.2版本,解压缩以后配置hadoop的系统环境变量:
HADOOP_HOME=D:\software\hadoop-2.9.2
在PATH中加入如下路径:%HADOOP_HOME%\bin
由于hadoop没有针对windows的版本,因此我们下载的hadoop和windows会有不兼容,需要对hadoop的安装目录做调整,找到hadoop安装目录下的bin文件夹,替换为这个网址下(https://github.com/steveloughran/winutils)对应版本hadoop的bin文件夹 ,由于博主写这篇博客时上述网址上并没有2.9.2版本的,所以博主用的是2.8.3版本的,实测并没有问题。
3.编写MapReduce程序
案例:统计文本文件中每个单词出现的次数
文本文件内容如下:
3.1 引入相关依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.itcast</groupId>
<artifactId>example-mr</artifactId>
<version>1.0</version>
<properties>
<hadoop.version>2.9.2</hadoop.version>
<JAVA_HOME>D:\Java\jdk1.8.0_221</JAVA_HOME>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>