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,新建一个项目。点击 FileFileFile -> NewNewNew -> ProjectProjectProject

在弹出的对话框中选择 MavenMavenMaven,JDK选择自己安装的版本,点击Next

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

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

初始化

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

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

在项目的左侧有文件目录结构,双击以编译 pom.xmlpom.xmlpom.xml ,这是Maven的配置文件

添加apache源

在 projectprojectproject 内尾部添加代码

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

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

添加Hadoop依赖

这里只需要用到基础依赖 hadoop−corehadoop-corehadoop−core 和 hadoop−commonhadoop-commonhadoop−common;如果需要读写HDFS,则还需要依赖 hadoop−hdfshadoop-hdfshadoop−hdfs 和 hadoop−clienthadoop-clienthadoop−client;如果需要读写HBase,则还需要依赖 hbase−clienthbase-clienthbase−client。

在 projectprojectproject 内尾部添加代码

<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依赖就添加成功了。

修改 pom.xmlpom.xmlpom.xml 完成后,IDEA 会提示 Maven projects need to be Imported,点击Import Changes以更新依赖

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

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

Windows下使用IDEA+Maven搭建本地Hadoop环境相关推荐

  1. Windows下visual studio code搭建golang开发环境

    前言 其实环境搭建没什么难的,但是遇到一些问题,主要是有些网站资源访问不了(如:golang.org), 导致一些包无法安装,最终会导致环境搭建失败,跟据这个教程几步,我们将可以快速的构建golang ...

  2. Windows下Kafka集群搭建

    一.Windows下Zookeeper集群搭建. 1.集群版本:2.8.1,3.0版本不再支持JDK8,不在需要Zookeeper. 2.Zookeeper版本:3.8.0. 3.Zookeeper三 ...

  3. Windows下安装NTP服务器——搭建时间同步服务器

    Windows下安装NTP服务器--搭建时间同步服务器 NTP服务器介绍 NTP服务器[Network Time Protocol(NTP)]是用来使计算机时间同步化的一种协议,它可以使计算机对其服务 ...

  4. Windows下Eclipse和PyDev搭建完美Python开发环境

    Windows下Eclipse和PyDev搭建完美Python开发环境 之前安装Eclipse,JDK,Python什么的就不说了.直接从安装PyDev开始(借用了几张别人的图): 打开Eclipse ...

  5. windows 下使用 Filezilla server 搭建 ftp 服务器

    windows 下使用 Filezilla server 搭建 ftp 服务器 1. Filezilla server 免费,开源, ftp 服务端 2. 下载安装, windows  https:/ ...

  6. CUDA在Windows下的软件开发环境搭建

    http://www.cnblogs.com/yaoyuanzhi/archive/2010/11/13/1876215.html CUDA在Windows下的软件开发环境搭建 本文我们以Visual ...

  7. Windows下SVN服务器的搭建步骤

    1.下载svn服务端和客户端 服务端VISUALSVN SERVER:https://www.visualsvn.com/ 客户端TortoiseSVN:https://tortoisesvn.net ...

  8. windows下 lvgl+qt 虚拟环境搭建

    windows下 lvgl+qt 虚拟环境搭建 一.工具准备 qt creator 安装 1.软件地址:https://download.qt.io/development_releases/qtcr ...

  9. windows下的BT服务器搭建方案

    windows下的BT服务器搭建方案            需要BitTorrent3.9.1的资料还要继续找 BT下载可以说是目前网络上最流行的P2P文件共享方式了.BT服务器相比于FTP服务器有许 ...

最新文章

  1. 一位大学教师对学生的建议:如何做好研究
  2. C#高级编程9 第17章 使用VS2013-C#特性
  3. Dijkstra算法介绍+正确性证明+性能分析
  4. 第7章-选择器+伪类
  5. 闲鱼如何利用端计算提升推荐场景的ctr
  6. ubuntu 16.04下切换python版本小结
  7. Spring :@Configuration 注解
  8. Python selenium 去掉“隐藏正受到自动测试软件的控制”
  9. HDU 6370(并查集)
  10. 熔断器 Hystrix 源码解析 —— 断路器 HystrixCircuitBreaker
  11. linux下用C计算某一个目录总大小
  12. 路由器开发相关知识总结 —— 光口和电口
  13. axure rp pro 8.0 中文+破解补丁 v8.0.0.3333专业版
  14. 《计算智能导论》下载
  15. 公司安全邮箱格式地址怎么写?安全邮件系统
  16. ERP系统无缝对接扫码功能,快速提高企业生产效率
  17. 基于Java+SpringBoot+Thymeleaf+Mysql在线外卖点餐系统设计与实现
  18. 极光推送 简书android,极光推送第一篇:配置
  19. 《牧羊少年奇幻之旅》之水晶店老板
  20. 数据采集与埋点简介之 代码埋点、可视化埋点与无痕埋点

热门文章

  1. 数据库:数据库死机和掉电时如何让恢复数据
  2. 【阿里云域名】我都有服务器了,为什么还要购买域名?
  3. Invocation of init method failed; nested exception is org.hibernate.InvalidMappingException: Could n
  4. cdn刷新api_闲话 CDN
  5. php图书信息浏览器,使PHP即时输出结果到浏览器
  6. 全球规模最大的全浸没式液冷数据中心落户杭州余杭
  7. 机房配电系统与配电电缆线径的选择及巡查
  8. 有人问我:除了机房工程,你还懂什么?我笑了
  9. python通过ip获取mac地址_通过IP或socket获取对方的MAC地址
  10. mysql 数据类型 int_MySQL数据类型 int(M) 表示什么意思?