使用IDEA本地调试MapReduce程序

使用IDEA本地调试MapReduce程序

  • 演示目标
  • 演示环境
  • 文件下载
  • 完整配置
  • 开始调试

演示目标

在Windows开发环境下,直接使用IDEA运行MapReduce程序,并支持Debug调试。

演示环境

  • 基于Hadoop2.6.5;
  • 启动HDFS与YARN高可用集群环境,可参考以下两篇博客:
    • 从0开始搭建Hadoop2.x高可用集群(HDFS篇)
    • 从0开始搭建Hadoop2.x高可用集群(YARN篇)
  • 上传MR计算所用的文章到HDFS中;
  • 使用Java编写MapReduce程序,可参考博客:
    • 使用Java编写第一个MapReduce程序

文件下载

  • 包含hadoop-2.6.5.tar.gz、hadoop.dll、winutils.exe三个文件,点击下载

完整配置

  • 将hadoop-2.6.5.tar.gz解压到自己想要存放的Windows目录下,例如E:\WorkSpace\Software\hadoop-2.6.5
  • 如图所示,在系统变量里配置HADOOP_HOMEHADOOP_USER_NAME,其中HADOOP_USER_NAME是指在访问HDFS时使用的用户,而Windows环境下进行调试时默认使用的是Windows的用户,但是Windows用户没有读写HDFS的权限,所以我们需要配置成有权限的Linux用户,我这里使用的是root用户:
    使用IDEA本地调试MapReduce程序_第1张图片
  • 如图所示,在系统变量PATH中追加%HADOOP_HOME%\bin
    使用IDEA本地调试MapReduce程序_第2张图片
  • winutils.exe放到%HADOOP_HOME%\bin路径下;
  • hadoop.dll放到C:\Windows\System32路径下;
  • 如图所示,将%HADOOP_HOME%\etc\hadoop路径下的log4j.properties文件复制到本地程序的resrources文件夹中,这一步主要是为了在本地调试时可以输出日志,如果任然无法输出日志,可以尝试将该文件放到src根目录下:
    使用IDEA本地调试MapReduce程序_第3张图片
  • 如图所示,修改本地程序启动类的配置,追加以下两行代码:
    使用IDEA本地调试MapReduce程序_第4张图片

开始调试

  • 如图所示,使用Dubug方式运行本地程序,最终可以看到日志输出的内容与在服务器上输出的日志类似:
    使用IDEA本地调试MapReduce程序_第5张图片
  • 如图所示,在Map阶段打上断点可以进行逐步调试:
    使用IDEA本地调试MapReduce程序_第6张图片

你可能感兴趣的:(hadoop,mapreduce,大数据,hadoop,intellij,idea,windows)