Idea远程连接Hadoop运行MapReduce
环境:hadoop2.7.1虚拟机伪分布式集群
虚拟机镜像文件下载
看到网上有许多文章,都很复杂,其实只需要以下三步就可以使用Idea远程连接Hadoop运行MapReduce
- 新建项目
- 导入jar包及设置配置文件
- 编写MapReduce运行
一、新建项目
这里不用多说,新建普通项目。
二、导入jar包及配置文件
- 导入jar包
- HADOOP_HOME/share/hadoop/common目录下的hadoop-common-2.7.1.jar和haoop-nfs-2.7.1.jar;
- HADOOP_HOME/share/hadoop/common/lib目录下的所有JAR包;
- HADOOP_HOME/share/hadoop/hdfs目录下的haoop-hdfs-2.7.1.jar和haoop-hdfs-nfs-2.7.1.jar;
- HADOOP_HOME/share/hadoop/hdfs/lib目录下的所有JAR包;
- HADOOP_HOME/share/hadoop/mapreduce除hadoop-mapreduce-examples-2.7.1.jar之外的jar包;
- HADOOP_HOME/share/hadoop/mapreduce/lib/所有jar包。
HADOOP_HOME为hadoop安装目录,例如/usr/local/hadoop
- 配置文件
将HADOOP_HOME/etc/hadoop目录下的log4j.properties,core-site.xml,hdfs-site.xml文件放到工程目录下的resources文件夹(如果没有resources则在idea中新建并将该文件夹设置为Sources Root)。
三、编写MapReduce程序运行
- 向hdfs上传两个txt文件,文件名称及位置为
/user/hadoop/input/myLocalFile.txt
/user/hadoop/input/wordCount.txt
myLocalFile.txt
Hadoop
Spark
WYT DBLAB
wordCount.txt
Hello World
Hello Hadoop
- WordCount测试代码
import java.io.IOException;
import java.util.Iterator;
import java.util.StringTokenizer;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.*;
import org.apache.hadoop.mapred.*;
public class WordCount {
public static class