一、前言 使用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文件部分如下:

org.apache.hadoop

hadoop-common

3.3.6

org.apache.hadoop

hadoop-hdfs

3.3.6

org.apache.hadoop

hadoop-client

3.3.6

org.apache.hadoop

hadoop-mapreduce-client-core

3.3.6

MR作业的驱动类,指定HDFS运行的路径即可

6、开启集群,然后调试修改程序 7、可能出现的情况: 1)连接不到集群,配置下win的hosts文件 假如你是虚拟机的话就配置 192.168.70.15 master 这里的映射换成你自己的实际IP和hostname 检查下虚拟机网络配置,让虚拟机也可以上网

好文链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。