Hadoop集群中的Mahout-distribution-0.7安装与配置
系统配置:
Ubuntu 12.04
hadoop-1.1.2
jdk1.6.0_45
Mahout是Hadoop的一种高级应用。运行Mahout需要提前安装好Hadoop,Mahout只在Hadoop集群的NameNode节点上安装一个即可,其他数据节点上不需要安装。
1、下载二进制解压安装。
到http://labs.renren.com/apache-mirror/mahout/0.7下载,我选择下载二进制包,直接解压及可。
hadoop@ubuntu:~$ tar -zxvf mahout-distribution-0.7.tar.gz
2、配置环境变量:/etc/profile
使环境变量生效:source /etc/profile
3、启动hadoop
4、mahout --help
检查Mahout是否安装完好,看是否列出了一些算法
当然,这种方法并不准确,可以通过接下来的步骤进行验证。
5、mahout使用准备
a. 下载一个文件synthetic_control.data,下载地址:http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data
b.创建测试目录testdata,并把数据导入到这个tastdata目录中(这里的目录的名字只能是testdata)
hadoop@ubuntu:~/$ hadoop fs -mkdir testdata
hadoop@ubuntu:~/$ hadoop fs -put /usr/local/mahout-distribution-0.7/synthetic_control.data testdatac.使用kmeans算法
hadoop@ubuntu:~/$ hadoop jar /usr/local/mahout-distribution-0.7/mahout-examples-0.7-job.jar org.apache.mahout.clustering.syntheticcontrol.kmeans.Job
6.查看结果
hadoop@ubuntu:~/$ hadoop fs -lsr output如果看到以下结果那么算法运行成功,你的安装也就成功了。
clusteredPoints clusters-0 clusters-1 clusters-10 clusters-2 clusters-3 clusters-4 clusters-5 clusters-6 clusters-7 clusters-8 clusters-9 data
这是在my-eclipse下的目录树:
注:
clusteredPoints:存放的是最后聚类的结果,将cluster-id和documents-id都展示出来了,用mahout seqdumper读clusteredPoints结果的key-value类型是 (IntWritable,WeightedVectorWritable)
clusters-N:是第N次聚类的结果,其中n为某类的样本数目,c为各类各属性的中心,r为各类属性的半径。 clusters-N结果类型是(Text,Cluster)
data:存放的是原始数据,这个文件夹下的文件可以用mahout vectordump来读取,原始数据是向量形式的,其它的都只能用mahout seqdumper来读取,向量文件也可以用mahout seqdumper来读取,只是用vectordump读取出来的是数字结果,没有对应的key,用seqdumper读出来的可以看到key,即对应的 url,而value读出来的是一个类描述,而不是数组向量
7、分析结果