mahout是hadoop的一种高级应用。运行mahout需要提前安装好hadoop。hadoop的安装网上很多。而且也不复杂,这里不再讲述。这里默认hadoop已经安装完成。
1:下载二进制解压安装。
到http://labs.renren.com/apache-mirror/mahout/0.5/ 下载,我选择下载二进制包,直接解压及可。
2:配置环境变量:HADOOP_HOME,HADOOP_CONF_DIR,MAHOUT_HOME,格式如下
export HADOOP_HOME=/usr/local/hadoop-0.20.205.0
export HADOOP_CONF_DIR=/usr/local/hadoop-0.20.205.0/conf
export MAHOUT_HOME=/usr/local/mahout-distribution-0.5
export PATH=$HADOOP_HOME/bin:$MAHOUT_HOME/bin:$PATH
3:(注意)
网上都说运行bin/mahout --help来查看一些算法以及是否安装成功,这其实是有问题的。bin/mahout --help有bug,有时候运行会提示Unknown program '--help' chosen.这其实并不代表安装出了问题。
你可以继续试下bin/mahout -h或者bin/mahout kmeans --help.应该说如果配置没有问题的话bin/mahout kmeans --help应该是可以正常运行的。
4:准备
1.下载一个文件synthetic_control.data,下载地址http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data,并把这个文件放在$MAHOUT_HOME目录下。
2.启动Hadoop:$HADOOP_HOME/bin/start-all.sh
3.在$MAHOUT_HOME目录下创建测试目录testdata,并把数据导入到这个tastdata目录中(这里的目录的名字只能是testdata)
$HADOOP_HOME/bin/hadoop fs -mkdir testdata
$HADOOP_HOME/bin/hadoop fs -put $MAHOUT_HOME/synthetic_control.data $MAHOUT_HOME/testdata
4.使用kmeans算法(这会运行1分钟左右)
$HADOOP_HOME/bin/hadoop jar $MAHOUT_HOME/mahout-examples-0.5-job.jar org.apache.mahout.clustering.syntheticcontrol.kmeans.Job
5.查看结果
$HADOOP_HOME/bin/hadoop fs -lsr output
$HADOOP_HOME/bin/hadoop fs -get output $MAHOUT_HOME/examples
$cd $MAHOUT_HOME/examples/output
$ ls
如果看到以下结果那么算法运行成功,你的安装也就成功了.
clusteredPoints clusters-0 clusters-1 clusters-10 clusters-2 clusters-3 clusters-4
clusters-5 clusters-6 clusters-7 clusters-8 clusters-9 data