最近想实协同过滤的MR算法,但是网上查了一下,发现hadoop的生态系统中的Mahout的项目已经实现了相应的算法,因此想先尝试着实时这个mahout的使用及效果。要想用mahout必须要部署到hadoop上咯。

1、下载mahout的版本,并解压缩到本地

通过 http://mahout.apache.org/ 下载相应的版本,我下载的是mahout-distribution-0.9.tar.gz版本。

tar -zxvf mahout-distribution-0.9.tar.gz

mv mahout-distribution-0.9  mahout-0.9

2、配置环境变量

export MAHOUT_HOME=/home/grid/mahout-0.9

export PATH=$JAVA_HOME/bin:$MAHOUT_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$MAHOUT_HOME/lib

3、启动hadoop

4、测试mahout

  mahout --help    #检查Mahout是否安装完好,看是否列出了一些算法

这里要注意一下:上面的命令输入回车之后,会出现:MAHOUT_LOCAL not set 的信息时,此时不用惊慌,正如所显示的信息内容一样,mahout并没有在本地运行,而是在hadoop上面运行。

5、测试Kmeans算法

  1)下载一个文件synthetic_control.data,下载地址http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data。

  2)建立输入文件的目录testdata,要想测试mahout自带的kmeans的例子,输入数据的目录名称必须为testdata。并将synthetic_control.data上传到hdfs上。

      hadoop fs -mkdir testdata

      hadoop fs -put /home/grid/synthetic_control.data testdata

  3)执行命令

  hadoop jar /home/grid/mahout-0.9/mahout-examples-0.9-job.jar org.apache.mahout.clustering.syntheticcontrol.kmeans.Job

  4)查看kmeans的输出结果。Kmeans例子是10迭代。

  hadoop fs -ls /user/grid/output/   会显示每次迭代的结果:

  

  5)执行完之后,查看结果

  若直接通过hadoop fs -cat 方式查看的话,会出现乱码,mahout的最新版本查看结果的方式是通过下面三种方式:

  mahout seqdumper:将SequenceFile文件转成可读的文本形式,对应的源文件是org.apache.mahout.utils.SequenceFileDumper.java
  mahout vectordump:将向量文件转成可读的文本形式,对应的源文件是org.apache.mahout.utils.vectors.VectorDumper.java
  mahout clusterdump:分析最后聚类的输出结果,对应的源文件是org.apache.mahout.utils.clustering.ClusterDumper.java

  mahout clusterdump --input /user/grid/output/data/part-m-00000 --output liujiyu.txt

  --inpput 表示的是输入参数

  --output 表示的是转化成本地可读的文件

Mahout0.9的安装与测试的更多相关文章

  1. my SQL下载安装,环境配置,以及密码忘记的解决,以及navicat for mysql下载,安装,测试连接

    一.下载 在百度上搜索"mysql-5.6.24-winx64下载" 二.安装 选择安装路径,我的路径“C:\Soft\mysql-5.6.24-winx64” 三.环境配置 计算 ...

  2. OpenCV2+入门系列(一):OpenCV2.4.9的安装与测试

    这里假设看到这篇文章的人都已经对OpenCV以及机器视觉等最基础的概念有了一定的认识,因此本文不会对OpenCV做任何的介绍,而是直接介绍OpenCV2.4.9的安装与测试.此外本文只是简单的介绍如何 ...

  3. 决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试

    决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试 [TOC] Apache ZooKeeper 单机模式安装 创建hadoop用户&赋予sudo权限, ...

  4. coreseek实战(一):windows下coreseek的安装与测试

    coreseek实战(一):windows下coreseek的安装与测试 网上关于 coreseek 在 windows 下安装与使用的教程有很多,官方也有详细的教程,这里我也只是按着官方提供的教程详 ...

  5. Window下memcached安装与测试步骤

    如何在Window下memcached安装与测试步骤 工具/原料 电脑 memcached 软件 方法/步骤 软件包下载 下载Memercached For Windows:http://downlo ...

  6. 【MySql】5.6.14版本的安装和测试

    当前状态:apache2.4.6和php5.5.6已经安装成功: mysql的安装和测试: 一.安装mysql5.6.14,参考http://wenku.baidu.com/link?url=_0jk ...

  7. jdbc_odbc SQLserver 驱动安装及测试

    有2次被问到同一个问题,尽管博客园是.net的园子,我还是分享下吧.PS:我现在做的.net,以前学过点java.献丑了. ------------------ 原始邮件 -------------- ...

  8. mosquitto在Linux环境下的部署/安装/使用/测试

    mosquitto在Linux环境下的部署 看了有三四天的的源码,(当然没怎么好好看了),突然发现对mosquitto的源码有了一点点感觉,于是在第五天决定在Linux环境下部署mosquitto. ...

  9. http_load安装与测试参数分析 - 追求自由自在的编程 - ITeye技术网站

    http_load安装与测试参数分析 - 追求自由自在的编程 - ITeye技术网站 http_load -p 50 -s 120 urls

随机推荐

  1. Hacker Technology

    扒一扒「黑客军团」中用到的黑客工具 黑客 (Hacker) - 知乎 nmap - 百科 NMAP - 官网  中文翻译 Havij sqlmap 熊猫烧香 懒人在思考 零基础如何学习 Web 安全? ...

  2. webdriver hangs when get or click

    Same times the webdriver hangs when get url or click some link,  webdriver executing (get or click) ...

  3. Android LayoutParams

    LayoutParams继承于Android.View.ViewGroup.LayoutParams,就是布局. LayoutParams相当于一个Layout的信息包,它封装了Layout的位置.高 ...

  4. Linux下修改系统时间并写入BIOS

    我们一般使用“date -s”命令来修改系统时间.比如将系统时间设定成2005年7月26日的命令如下. #date -s 07/26/2005 将系统时间设定成下午11点12分0秒的命令如下. #da ...

  5. [redis] redis 存取键值对常用的三种使用方式 - Jedis、JedisPool、Jedis分布式

    |-Jedis 普通方式 |-JedisPool 连接池方式(需要引入pool相关jar) |-Jedis 分布式 (需要引入pool相关jar) 引入jedis2.7.0和commons.pool2 ...

  6. --专访雷果国: 从1.5K到18K 一个程序员的5年成长之路--

    导语:今年三月份,在CSDN博客和新浪微博上有一篇<从1.5K到18K,一个程序员的5年成长之路>被众人分享和传阅,这篇博文首先介绍了作者自学之初薄弱的基础,然后通过流水账形式分享了那个从 ...

  7. IO流 总结三

    编码:字符串变成字节数组. 解码:字节数组变成字符串 String --> byte[]; str.getBytes(); byte  --> String: new String(byt ...

  8. WebForm MapPageRoute 路由配置(转载)

    使用场景是:MVC 混合使用 WebForm,然后对 WebForm 进行路由配置 http://www.cnblogs.com/xishuai/archive/2015/02/26/web-form ...

  9. PHP基本知识收集

    1.符号“@”的作用 @是可以屏蔽函数执行过程中遇到问题而产生的一些错误.警告信息,这样用户就看不到程序的出错信息.这样除了用户界面会友好一些外,更重要的是安全性,因为屏蔽了出错文件的路径等信息. 2 ...

  10. [工程备案]linux基本命令以及C和C++编程

    whereis 查看程序安装在了哪里 where 产看运行程序在哪里. libtool --mode=link  g++ test.cpp  -o test  libSegmentorForSim2T ...