一、前言
使用IDEA在本地书写MR程序时候,需要打JAR包上传到服务器执行,不利于调试程序,本文探讨在反复修改程序调试的过程中利用本地环境就可以进行HDFS上的测试。
使用软件为IDEA2021.3+MAVEN3.8.8+HADOOP3.3.6
二、步骤
1、下载HADOOP3.3.6到本地磁盘,解压,注意这个bin目录,一会用到。
2、下载HADOOP的WIN工具,因为HADOOP版本较新,没有对应的,我选择的是3.3.5的。可以从https://github.com/cdarlint/winutils下载。
把其中的hadoop.dll和winutils.exe文件拷贝到刚才解压的HADOOP路径下的bin目录中。注意:最好放到C:\Windows\System32一份,不然有可能不能运行,可以自己测试。
3、配置系统环境变量,这里HADOOP_USER_NAME属性配置你的虚拟机上的用户,有的不写也行,但是最好指定。
4、将Hadoop的相关配置文件添加到项目的resources文件夹下,没有的话可以创建此文件夹。
注意:也有博客说把mapred-site.xml放进来,可以自己测试
如果想打印日志的话,还需要加上log4j.properties文件,里边代码如下:
需要有日志出现 则需要将下面的添加到src下的log4j.properties下(IDEA需要放在resource的目录下)
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
5、书写程序,利用Maven创建项目,pom文件部分如下:
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>3.3.6</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>3.3.6</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>3.3.6</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-core</artifactId>
<version>3.3.6</version>
</dependency>
MR作业的驱动类,指定HDFS运行的路径即可文章来源:https://www.toymoban.com/news/detail-759949.html
6、开启集群,然后调试修改程序
7、可能出现的情况:
1)连接不到集群,配置下win的hosts文件
假如你是虚拟机的话就配置
192.168.70.15 master 这里的映射换成你自己的实际IP和hostname
检查下虚拟机网络配置,让虚拟机也可以上网文章来源地址https://www.toymoban.com/news/detail-759949.html
到了这里,关于IDEA在WIN系统下搭建调试HADOOP3的MR调试环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!