【甘道夫】Mahout0.9 打patch使其支持 Hadoop2.2.0

2024-05-26 13:58

本文主要是介绍【甘道夫】Mahout0.9 打patch使其支持 Hadoop2.2.0,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

引言
Mahout0.9之前的版本默认不支持Hadoop2.2.0以上版本,但很多情况下,由于集群环境的Hadoop已经是2.2.0以上版本,又必须使用Mahout,此时就需要编译源码,使得Mahout支持Hadoop2了。

欢迎转载,请注明出处:
http://blog.csdn.net/u010967382/article/details/39088035

造好的车轮
让Mahout在Hadoop2.2.0上运行是需求十分广泛的,所以必定有前人已经栽好树了,我们可以在
https://issues.apache.org/jira/browse/MAHOUT-1354
里看到4个升级patch,及patch的作者们的详细讨论过程。
千万注意的是,不是4个升级patch按顺序依次用,而是用一个即可!
通过详细阅读了patch作者们的讨论,认为其中的两个patch最靠谱:
1329-3.patch
1329-3-additional.patch
经笔者实测,对于Mahout0.9,1329-3-additional.patch是无法成功应用的,而 1329-3.patch可以成功应用。

步骤一:为Mahout源码打patch
到  http://archive.apache.org/dist/mahout/    或者  https://github.com/apache/mahout/releases   去下载源码,解压到服务器上。
到  https://issues.apache.org/jira/browse/MAHOUT-1354  下载 1329-3.patch,拷贝到服务器上。

到源码根目录下执行以下命令打patch:
yarn@singletest:~/Mahout/mahout-distribution-0.9$  patch -p0 < ../mahout0.9-patch-for-hadoop2/1329-3.patch
patching file core/pom.xml
patching file integration/pom.xml
patching file pom.xml
没有报错即升级成功。

步骤二:针对Hadoop2.2.0编译源码
到源码根目录下执行以下命令针对Hadoop2.2.0编译源码
yarn@singletest:~/Mahout/mahout-distribution-0.9$ mvn clean package -Dhadoop2.version=2.2.0
。。。。。。漫长等待。。。。。。

注意我没有加上-DskipTests参数,是为了了解打patch后的测试效果,结果显示,全部测试都通过,没有任何问题!


验证
由于在patch页面中,patch的作者有这样一句对话:
Sergey Svinarchuk added a comment - 21/Feb/14 09:46
I tested unit tests and examples with hadoop1 and hadoop2. All tests and examples passed.

相信大牛的人品和诚信,所以就不test all examples了,仅测试了一下贝叶斯文本分类器,参见
http://blog.csdn.net/u010967382/article/details/39088285
全过程正常执行!

这篇关于【甘道夫】Mahout0.9 打patch使其支持 Hadoop2.2.0的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1004663

相关文章

Golang支持平滑升级的HTTP服务

前段时间用Golang在做一个HTTP的接口,因编译型语言的特性,修改了代码需要重新编译可执行文件,关闭正在运行的老程序,并启动新程序。对于访问量较大的面向用户的产品,关闭、重启的过程中势必会出现无法访问的情况,从而影响用户体验。 使用Golang的系统包开发HTTP服务,是无法支持平滑升级(优雅重启)的,本文将探讨如何解决该问题。 一、平滑升级(优雅重启)的一般思路 一般情况下,要实现平滑

sqlite不支持中文排序,采用java排序

方式一 不支持含有重复字段进行排序 /*** sqlite不支持中文排序,改用java排序* 根据指定的对象属性字段,排序对象集合,顺序* @param list* @param field* @return*/public static List sortListByField(List<?> list,String field){List temp = new ArrayList(

一款支持同一个屏幕界面同时播放多个视频的视频播放软件

GridPlayer 是一款基于 VLC 的免费开源跨平台多视频同步播放工具,支持在一块屏幕上同时播放多个视频。其主要功能包括: 多视频播放:用户可以在一个窗口中同时播放任意数量的视频,数量仅受硬件性能限制。支持多种格式和流媒体:GridPlayer 支持所有由 VLC 支持的视频格式以及流媒体 URL(如 m3u8 链接)。自定义网格布局:用户可以配置播放器的网格布局,以适应不同的观看需求。硬

Science Robotics 首尔国立大学研究团队推出BBEX外骨骼,实现多维力量支持!

重复性举起物体可能会对脊柱和背部肌肉造成损伤,由此引发的腰椎损伤是工业环境等工作场所中一个普遍且令人关注的问题。为了减轻这类伤害,有研究人员已经研发出在举起任务中为工人提供辅助的背部支撑装置。然而,现有的这类装置通常无法在非对称性的举重过程中提供多维度的力量支持。此外,针对整个人体脊柱的设备安全性验证也一直是一个缺失的环节。 据探索前沿科技边界,传递前沿科技成果的X-robot投稿,来自首尔国立

超级 密码加密 解密 源码,支持表情,符号,数字,字母,加密

超级 密码加密 解密 源码,支持表情,符号,数字,字母,加密 可以将表情,动物,水果,表情,手势,猫语,兽语,狗语,爱语,符号,数字,字母,加密和解密 可以将文字、字母、数字、代码、标点符号等内容转换成新的文字形式,通过简单的文字以不同的排列顺序来表达不同的内容 源码截图: https://www.httple.net/152649.html

QtC++截图支持窗口获取

介绍 在截图工具中你会发现,接触到窗口后会自动圈出目标窗口,个别强大一点的还能进行元素识别可以自动圈出元素,那么今天简单分析一下QTc++如何获取窗口并圈出当前鼠标下的窗口。 介绍1.如何获取所有窗口2.比较函数3.实现窗口判断 结尾 1.如何获取所有窗口 1.我们需要调用windows接口EnumWindowsProc回调函数来获取所有顶级窗口,需要包含windows.

Nacos Config 配置中心支持配置共享

文章目录 一、什么是配置中心二、Nacos Config2.1 Nacos Config 工作原理 (★)2.2 Nacos Config 的使用2.3 动态刷新2.4 配置共享2.4.1 同一个微服务的不同环境之间共享配置2.4.2 不同微服务中间共享配置 一、什么是配置中心 微服务架构下关于配置文件的存在以下问题: 配置文件相对分散。在一个微服务架构下,配置文件会随

spring笔记 多线程的支持

spring的工作机制 136  属性编辑器 140 spring事件的体系结构 168 Bean间的关系 109 继承 依赖 引用     Bean的继承          1 为了简化初始化的属性注入;          2 子Bean和父Bean相同的属性值,使用子Bean的     Bean的依赖 Srping控制相互依赖的Bean之间,属性注入的顺序,防止出错  depend-on

PageOfficeCtrl支持直接打开服务器磁盘文件

一般来说,PageOfficeCtrl控件的WebOpen方法的第一个参数是待打开文档的URL,此URL可以是相对于当前页面的相对URL,也可以是相对于整个网站根的相对URL,还可以是http开头的完整URL,但是这个URL必须是当前网站的URL,不能跨域。 现在为了更加方便开发者编程,WebOpen支持打开服务器磁盘文件。也就是说,第一个参数可以写成服务器文件的绝对磁盘路径。例如: P

Jasperreports+jaspersoft studio 实现支持富文本格式的数据

昨天有位博友给我发邮件问我:Jasperreports+jaspersoft studio 如何实现支持富文本格式的数据! 其实,我也是第一次遇到这个问题;我就百度搜索,我记得之前:我解决过用百度编辑器,解析富文本格式的数据,是设置一个属性; 最后,只百度到一篇文章;https://zhidao.baidu.com/question/1430121390482093659.html 废话不多