用Maven构建Mahout开发环境
环境:
- Apache Maven 3.3.3
- Java version: 1.7.0_75
- Default locale: en_US, platform encoding: UTF-8
- OS name:Red Hat Enterprise Linux 7 64-bit
- hadoop 2.6.0 分布式集群
- Mahout 0.10.0
- Eclipse:eclipse-java-luna-SR2-linux-gtk-x86_64
Eclipseeclipse-java-luna-SR2-linux-gtk-x86_64IDE for Java Developers Version: LunaService Release 2 (4.4.2)
步骤:
1. 用Maven创建一个标准化的Java项目
2. 导入项目到eclipse
3. 增加mahout依赖,修改pom.xml
4. 下载依赖
1). 用Maven创建一个标准化的Java项目
[hadoop@hadoopworkspace]$ pwd
/home/hadoop/workspace
[hadoop@hadoopworkspace]$ mvn archetype:generate-DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=org.conan.mymahout-DartifactId=myMahout -DpackageName=org.conan.mymahout -Dversion=1.0-SNAPSHOT-DinteractiveMode=false
[hadoop@hadoopworkspace]$ cd myMahout
[hadoop@hadoopmyMahout]$ mvn clean install
2). 导入项目到eclipse
我们创建好了一个基本的maven项目,然后导入到eclipse中。 这里我们最好已安装好了Maven的插件。
File-->Impot-->Maven-->Existing Maven Projects
3). 增加mahout依赖,修改pom.xml
这里我使用hadoop-2.6版本,修改文件: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/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.conan.mymahout</groupId>
- <artifactId>myMahout</artifactId>
- <packaging>jar</packaging>
- <version>1.0-SNAPSHOT</version>
- <name>myMahout</name>
- <url>http://maven.apache.org</url>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <mahout.version>0.10.0</mahout.version>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.mahout</groupId>
- <artifactId>mahout-math</artifactId>
- <version>${mahout.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.mahout</groupId>
- <artifactId>mahout-hdfs</artifactId>
- <version>${mahout.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-client</artifactId>
- <version>2.6.0</version>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-common</artifactId>
- <version>2.6.0</version>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-hdfs</artifactId>
- <version>2.6.0</version>
- </dependency>
- </dependencies>
- </project>
4). 配置完后mvn clean install
或Eclipse中RunAs-->Maven Build
在Goals:中设置参数clean install
相应的依赖包自动下载到本地库:/home/hadoop/.m2/repository
- [INFO] Scanning for projects...
- [INFO]
- [INFO] ------------------------------------------------------------------------
- [INFO] Building myMahout 1.0-SNAPSHOT
- [INFO] ------------------------------------------------------------------------
- [INFO]
- [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ myMahout ---
- [INFO] Deleting /home/hadoop/workspace/myMahout/target
- [INFO]
- [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ myMahout ---
- [INFO] Using 'UTF-8' encoding to copy filtered resources.
- [INFO] skip non existing resourceDirectory /home/hadoop/workspace/myMahout/src/main/resources
- [INFO]
- [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ myMahout ---
- [INFO] Changes detected - recompiling the module!
- [INFO] Compiling 1 source file to /home/hadoop/workspace/myMahout/target/classes
- [INFO]
- [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ myMahout ---
- [INFO] Using 'UTF-8' encoding to copy filtered resources.
- [INFO] skip non existing resourceDirectory /home/hadoop/workspace/myMahout/src/test/resources
- [INFO]
- [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ myMahout ---
- [INFO] Changes detected - recompiling the module!
- [INFO] Compiling 1 source file to /home/hadoop/workspace/myMahout/target/test-classes
- [INFO]
- [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ myMahout ---
- [INFO] Surefire report directory: /home/hadoop/workspace/myMahout/target/surefire-reports
- -------------------------------------------------------
- T E S T S
- -------------------------------------------------------
- Running org.conan.mymahout.AppTest
- Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.029 sec
- Results :
- Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
- [INFO]
- [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ myMahout ---
- [INFO] Building jar: /home/hadoop/workspace/myMahout/target/myMahout-1.0-SNAPSHOT.jar
- [INFO]
- [INFO] --- maven-install-plugin:2.4:install (default-install) @ myMahout ---
- [INFO] Installing /home/hadoop/workspace/myMahout/target/myMahout-1.0-SNAPSHOT.jar to /root/.m2/repository/org/conan/mymahout/myMahout/1.0-SNAPSHOT/myMahout-1.0-SNAPSHOT.jar
- [INFO] Installing /home/hadoop/workspace/myMahout/pom.xml to /root/.m2/repository/org/conan/mymahout/myMahout/1.0-SNAPSHOT/myMahout-1.0-SNAPSHOT.pom
- [INFO] ------------------------------------------------------------------------
- [INFO] BUILD SUCCESS
- [INFO] ------------------------------------------------------------------------
- [INFO] Total time: 7.451 s
- [INFO] Finished at: 2015-06-11T03:53:35-04:00
- [INFO] Final Memory: 23M/56M
- [INFO] ------------------------------------------------------------------------
参考:用Maven构建Mahout项目
pom.xml配置: