【甘道夫】Win7+Eclipse+Maven进行Mahout编程,使其兼容Hadoop2.2.0环境运行
2014-09-11 17:54
288 查看
引言
之前成功在服务器上为Mahout0.9打patch,使其支持Hadoop2.2.0。
今天的需求是:在Win7+Eclipse+Maven环境下开发Mahout程序,打jar包放到集群上,使其在Hadoop2.2.0下正常运行。
过程
步骤一:Eclipse下创建Maven工程
pom.xml:
1.引入mahout依赖
<dependencies>
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-core</artifactId>
<version>0.9</version>
</dependency>
</dependencies>
2.将依赖打进jar包的插件
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>cn.fulong.bigdata.ItemCFHadoop</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
步骤二:关键--将集群上打完patch,编译好的mahout-core-0.9.jar和mahout-math-0.9.jar覆盖windows下maven仓库的对应文件!
我尝试过将打过patch的pom文件拷贝到windows下,然后在windows环境下编译mahout0.9源码,但是行不通,各种报错。
由于mahout-core所依赖的mahout相关jar包只有两个,mahout-core-0.9.jar和mahout-math-0.9.jar,所以我们只需将集群上支持Hadoop2.2.0的这两个jar包覆盖到本地即可。
如果不执行该步骤,工程打jar包拷贝到集群后将报hadoop兼容性异常。
步骤三:打包,在windows环境下工程根目录下执行命令:mvn assembly:assembly
生成的jar包在工程根目录/target/下,名称类似 xxxxx-jar-with-dependencies.jar
步骤四:将jar包拷贝到集群中执行
注意:使用hadoop jar执行,而不是用java jar执行!使用hadoop jar执行才能顺利找到相关的hadoop资源。
之前成功在服务器上为Mahout0.9打patch,使其支持Hadoop2.2.0。
今天的需求是:在Win7+Eclipse+Maven环境下开发Mahout程序,打jar包放到集群上,使其在Hadoop2.2.0下正常运行。
过程
步骤一:Eclipse下创建Maven工程
pom.xml:
1.引入mahout依赖
<dependencies>
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-core</artifactId>
<version>0.9</version>
</dependency>
</dependencies>
2.将依赖打进jar包的插件
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>cn.fulong.bigdata.ItemCFHadoop</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
步骤二:关键--将集群上打完patch,编译好的mahout-core-0.9.jar和mahout-math-0.9.jar覆盖windows下maven仓库的对应文件!
我尝试过将打过patch的pom文件拷贝到windows下,然后在windows环境下编译mahout0.9源码,但是行不通,各种报错。
由于mahout-core所依赖的mahout相关jar包只有两个,mahout-core-0.9.jar和mahout-math-0.9.jar,所以我们只需将集群上支持Hadoop2.2.0的这两个jar包覆盖到本地即可。
如果不执行该步骤,工程打jar包拷贝到集群后将报hadoop兼容性异常。
步骤三:打包,在windows环境下工程根目录下执行命令:mvn assembly:assembly
生成的jar包在工程根目录/target/下,名称类似 xxxxx-jar-with-dependencies.jar
步骤四:将jar包拷贝到集群中执行
注意:使用hadoop jar执行,而不是用java jar执行!使用hadoop jar执行才能顺利找到相关的hadoop资源。
相关文章推荐
- Maven进行Mahout编程,使其兼容Hadoop2.2.0环境运行 (转)
- 【甘道夫】Win7环境下Eclipse连接Hadoop2.2.0
- 【甘道夫】Mahout0.9 打patch使其支持 Hadoop2.2.0
- 【甘道夫】Hadoop2.2.0环境使用Sqoop-1.4.4将Oracle11g数据导入HBase0.96,并自己主动生成组合行键
- 【甘道夫】Win7x64环境下编译Apache Hadoop2.2.0的Eclipse插件
- 【甘道夫】Hadoop2.2.0环境使用Sqoop-1.4.4将Oracle11g数据导入HBase0.96,并自动生成组合行键
- 【甘道夫】Win7环境下Eclipse连接Hadoop2.2.0
- 【甘道夫】Ubuntu14 server + Hadoop2.2.0环境下Sqoop1.99.3部署记录
- 【甘道夫】如何在cdh5.2上运行mahout的itemcf on hadoop
- Hadoop2.2.0构建mahout环境
- 【甘道夫】Win7x64环境下编译Apache Hadoop2.2.0的Eclipse小工具
- 用 Hadoop 进行分布式并行编程, 第 3 部分 部署到分布式环境
- 在Hadoop分布式集群环境下Mahout安装和运行K-means、协同过滤实例
- 【甘道夫】Win7环境下Eclipse连接Hadoop2.2.0
- 【甘道夫】用贝叶斯文本分类测试打过1329-3.patch的Mahout0.9 on Hadoop2.2.0
- 【甘道夫】Ubuntu14 server + Hadoop2.2.0环境下Sqoop1.99.3部署记录
- 【甘道夫】Win7x64环境下编译Apache Hadoop2.2.0的Eclipse插件
- 让mahout0.7在hadoop2.0环境下运行
- 解决unix环境高级编程的第一个程序运行问题
- <转>unix环境高级编程中代码运行问题解决