IDEA结合Maven搭建本地MapReduce环境


文章目录

  • IDEA结合Maven搭建本地MapReduce环境
  • 前言
  • 环境
  • 配置Maven
  • 新建项目
  • 初始化
  • 添加apache源
  • 添加Hadoop依赖


前言

Hadoop的开发中需要很多的依赖包,相互之间的关系较为复杂,依赖包之间复杂的关系就导致了搭建Hadoop的过程中会遇到各种报错,费心费神还调试不好,真是让人苦恼。

Maven是一个依赖管理和项目构建的工具,它利用惯例组织Java项目的结构,并允许通过简单的配置定义直接依赖,而直接依赖所需的其他依赖则会通过事先定义好的关系列表自动下载,大大节省了开发者本身的工作量。

使用Maven管理依赖,可以把MapReduce程序看出一个普通的Java程序一样来运行和调试,不需要在真实的分布式Hadoop集群上运行,真是好用又方便。

Maven是一个项目管理工具,在主流的Java IDE上都有插件。这里我们推荐使用IntelliJ IDEA来配合Maven,相比于Eclipse,IDEA更智能、更迅速、体验更佳。以 IDEA Ultimate 2019.3 版本为例,它自带了Maven支持,都不需要安装插件。

环境

  1. JDK 1.7及1.7以上版本
  2. IntelliJ IDEA Ultimate

不需要安装任何形式的Hadoop集群

如果不知道 IDEA怎么下载和安装的,可以参考另一篇博客 Windows下配置IDEA开发环境

配置Maven

新建项目

配置Maven的时候请一定要保持网络连接,不要断网

打开 IDEA,新建一个项目。点击 IDEA编写mapreduce不能导入mapper类 idea搭建mapreduce_IDEA -> IDEA编写mapreduce不能导入mapper类 idea搭建mapreduce_MapReduce_02 -> IDEA编写mapreduce不能导入mapper类 idea搭建mapreduce_hadoop_03

IDEA编写mapreduce不能导入mapper类 idea搭建mapreduce_Maven_04


在弹出的对话框中选择 IDEA编写mapreduce不能导入mapper类 idea搭建mapreduce_MapReduce_05,JDK选择自己安装的版本,点击Next

IDEA编写mapreduce不能导入mapper类 idea搭建mapreduce_hadoop_06


Location对应安装位置,选择到你想要安装的文件夹,比如我这里选择的是“D:\Dpan\Java”,系统提示当前目录非空

IDEA编写mapreduce不能导入mapper类 idea搭建mapreduce_Maven_07


我在后面再添加“\bigdata”,提示通过,意味着点击 finish 之后系统在“D:\Dpan\Java”这个目录下会创建一个叫做 bigdata 的空文件夹来存放这个项目(当然你也可以在电脑中提前建立一个空文件夹再选择其为安装位置),点击 finish 确定

IDEA编写mapreduce不能导入mapper类 idea搭建mapreduce_Maven_08

初始化

IDEA 初始化项目之后,会在右下角提示Maven需要导入一些东西,这里我们选择 Enable Auto-Import(自动导入)

IDEA编写mapreduce不能导入mapper类 idea搭建mapreduce_Maven_09


耐心等待两三分钟,等待项目导入初始化依赖结束,左下角的 Build 框中 Sync 前面转圈就是在导入依赖,出现绿色对号即意味着初始化结束。

IDEA编写mapreduce不能导入mapper类 idea搭建mapreduce_MapReduce_10


在项目的左侧有文件目录结构,双击以编译 IDEA编写mapreduce不能导入mapper类 idea搭建mapreduce_本地Hadoop环境_11 ,这是Maven的配置文件

IDEA编写mapreduce不能导入mapper类 idea搭建mapreduce_Maven_12

添加apache源

IDEA编写mapreduce不能导入mapper类 idea搭建mapreduce_IDEA_13

<repositories>
    <repository>
        <id>apache</id>
        <url>http://maven.apache.org</url>
    </repository>
</repositories>

IDEA 会开始自动从网络上下载依赖包并导入,窗口的最底部会开始转圈,转圈结束就表示apache源添加成功。

添加Hadoop依赖

这里只需要用到基础依赖 IDEA编写mapreduce不能导入mapper类 idea搭建mapreduce_hadoop_14IDEA编写mapreduce不能导入mapper类 idea搭建mapreduce_Maven_15;如果需要读写HDFS,则还需要依赖 IDEA编写mapreduce不能导入mapper类 idea搭建mapreduce_本地Hadoop环境_16IDEA编写mapreduce不能导入mapper类 idea搭建mapreduce_hadoop_17;如果需要读写HBase,则还需要依赖 IDEA编写mapreduce不能导入mapper类 idea搭建mapreduce_IDEA_18

IDEA编写mapreduce不能导入mapper类 idea搭建mapreduce_IDEA_13

<dependencies>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-core</artifactId>
        <version>1.2.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-common</artifactId>
        <version>2.7.2</version>
    </dependency>
</dependencies>

同样,等待转圈结束,Hadoop依赖就添加成功了。

修改 IDEA编写mapreduce不能导入mapper类 idea搭建mapreduce_本地Hadoop环境_11

到这一步之后,Maven 环境就算搭建完毕,可以直接使用此项目编写和运行 MapReduce 程序了。

下一步怎么通过IDEA+Maven运行MapReduce程序,请参考下一篇博客 IDEA+Maven运行调试MapReduce程序