在Windows环境下输入命令mvn -version来查看是否安装maven。
一、下载安装
Maven官网地址:http://maven.apache.org/,我使用的是maven3.3版本,以下仅做示例
ps:尽量不选择最新版本
下载到本地解压安装
二、配置环境变量
三、在MyEclipse上设置Maven
1.配置安装路径Installations
2.配置User Settings
五、构建Maven项目
1、在空白处右键,选择New–>Project…–>Maven–>Maven Project,然后点击Next
2.新建WordCount程序,系统会报很多的错误,先来配置一pom.xml文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.dajiangtai.hadoop</groupId>
<artifactId>hadoop</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>test</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<hadoop.version>2.6.0</hadoop.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>${hadoop.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>${hadoop.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>${hadoop.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.1</version>
<executions>
<!-- Run shade goal on package phase -->
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<!-- add Main-Class to manifest file -->
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.dajiangtai.hadoop.MyDriver</mainClass>
</transformer>
</transformers>
<createDependencyReducedPom>false</createDependencyReducedPom>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
3.点击Maven Dependencies,查看相关jar包是否已经导入,如下图
4.重新查看wordcount程序,发现系统已经不会报错了
六、如何调试Maven项目中的MapReduce程序
1、点击右键,选择Run As–>Run Configurations…如下图
2.点击Search…搜索一下wordcount主类,如下图
3.配置文件的输入、输出路径,以djt.txt文件为例,配置完成之后,点击Run运行程序。
4、此时,系统提示我们错误,如下图,错误原因是在构建hadoop项目时,要导入对应的hadoop补丁,解决方案是把hadoop.dll和winutils.exe复制粘贴到hadoop安装目录的bin目录下,同时也把这两个文件拷贝到C盘的Windows目录下的System32目录下,如下图:
5、配置Hadoop安装路径:在MyEclipse中,点击Window,选择Preferences,然后配置Hadoop安装路径,如下图
6、配置环境变量HADOOP_HOME和Path,如下图
7、运行程序,会发现程序运行成功,但是有如下提示信息,解决方法:把log4j.properties文件放到src目录下,重新运行程序,成功。如下图
8、在对应输出路径下查找程序运行结果
七、Maven项目的打包、测试、运行
1、配置参数,配置程序入口,如下图:(注意一定要和自己的一致)
2、Maven项目打包
(1)首先要知道项目的具体位置,如何知道呢?比如:在hadoop项目上右键,选择属性(Properties),获取项目的位置信息,如下图:
(2)在Windows环境下,进入上面的项目目录,如下图
(3)输入命令mvn clean,清理一下
(4)刷新一下MyEclipse的target目录
(5)输入打包命令mvn package,出现如下情况则表示打包成功
(6)刷新target目录,可以看到下图中的jar包就是我们需要打成的jar包
7)保证集群正常启动,在/home/hadoop目录下新建一个test的目录,输入hadoop fs -mkdir /test
(8)新建djt.txt文件,内容可以随便输入几个不同的单词,如下图
9)将新建的djt.txt文件上传到刚创建的/test目录下
(10)用rz命令上传刚才的打的jar包,jar包在hadoop项目目录的target目录下
(11)输入命令运行jar包:hadoop jar hadoop-1.0-SNAPSHOT.jar wordcount /terst/djt.txt /test/output 注意这里只要写wordcount的别名即可,而不用写带包名类名的wordcount全名。程序运行之后,可以在web页面查看结果,相信这个大家已经会很熟练的。
(12)输入同样的命令,只是把别名由wordcount改为wordcount2,输出路径改为/test/output2即可,用同样的方法查看程序运行结果。