Mahout安装与配置
Mahout是Hadoop的一种高级应用。运行Mahout需要提前安装好Hadoop。Hadoop的安装网上很多,并不复杂,这里不再讲述,接下来阐述怎么安装Mahout。
算法类 | 算法名 | 中文名 |
分类算法 | Logistic Regression | 逻辑回归 |
Bayesian | 贝叶斯 | |
SVM | 支持向量机 | |
Perceptron | 感知器算法 | |
Neural Network | 神经网络 | |
Random Forests | 随机森林 | |
Restricted Boltzmann Machines | 有限波尔兹曼机 | |
聚类算法 | Canopy Clustering | Canopy聚类 |
K-means Clustering | K均值算法 | |
Fuzzy K-means | 模糊K均值 | |
Expectation Maximization | EM聚类(期望最大化聚类) | |
Mean Shift Clustering | 均值漂移聚类 | |
Hierarchical Clustering | 层次聚类 | |
Dirichlet Process Clustering | 狄里克雷过程聚类 | |
Latent Dirichlet Allocation | LDA聚类 | |
Spectral Clustering | 谱聚类 | |
关联规则挖掘 | Parallel FP Growth Algorithm | 并行FP Growth算法 |
回归 | Locally Weighted Linear Regression | 局部加权线性回归 |
降维/维约简 | Singular Value Decomposition | 奇异值分解 |
Principal Components Analysis | 主成分分析 | |
Independent Component Analysis | 独立成分分析 | |
Gaussian Discriminative Analysis | 高斯判别分析 | |
进化算法 | 并行化了Watchmaker框架 |
|
推荐/协同过滤 | Non-distributed recommenders | Taste(UserCF, ItemCF, SlopeOne) |
Distributed Recommenders | ItemCF | |
向量相似度计算 | RowSimilarityJob | 计算列间相似度 |
VectorDistanceJob | 计算向量间距离 | |
非Map-Reduce算法 | Hidden Markov Models | 隐马尔科夫模型 |
集合方法扩展 | Collections | 扩展了java的Collections类 |
1:下载二进制解压安装。
到http://labs.renren.com/apache-mirror/mahout/0.7下载,我选择下载二进制包,直接解压及可。
hadoop@ubuntu:~$ tar -zxvf mahout-distribution-0.7.tar.gz
2:配置环境变量:在/etc/profile,/home/hadoop/.bashrc中添加如下红色信息
#set java environment
MAHOUT_HOME=/home/hadoop/mahout-distribution-0.7
PIG_HOME=/home/hadoop/pig-0.9.2
HBASE_HOME=/home/hadoop/hbase-0.94.3
HIVE_HOME=/home/hadoop/hive-0.9.0
HADOOP_HOME=/home/hadoop/hadoop-1.1.1
JAVA_HOME=/home/hadoop/jdk1.7.0
PATH=$JAVA_HOME/bin:$PIG_HOME/bin:$MAHOUT_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/conf:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$HBASE_HOME/lib:$MAHOUT_HOME/lib:$PIG_HOME/lib:$HIVE_HOME/lib:$JAVA_HOME/lib/tools.jar
export MAHOUT_HOME
export PIG_HOME
export HBASE_HOME
export HADOOP_HOME
export JAVA_HOME
export HIVE_HOME
export PATH
export CLASSPATH
3:启动hadoop,也可以用伪分布式来测试
4:mahout --help #检查Mahout是否安装完好,看是否列出了一些算法
5:mahout使用准备
a.下载一个文件synthetic_control.data,下载地址http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data,并把这个文件放在$MAHOUT_HOME目录下。
b.启动Hadoop:$HADOOP_HOME/bin/start-all.sh
c.创建测试目录testdata,并把数据导入到这个tastdata目录中(这里的目录的名字只能是testdata)
hadoop@ubuntu:~/$ hadoop fs -mkdir testdata # hadoop@ubuntu:~/$ hadoop fs -put /home/hadoop/mahout-distribution-0.7/synthetic_control.data testdata
d.使用kmeans算法(这会运行几分钟左右)
hadoop@ubuntu:~/$ hadoop jar /home/hadoop/mahout-distribution-0.7/mahout-examples-0.7-job.jar org.apache.mahout.clustering.syntheticcontrol.kmeans.Job
e.查看结果
hadoop@ubuntu:~/$ hadoop fs -lsr output
如果看到以下结果那么算法运行成功,你的安装也就成功了。
查看聚类结果:
[hadoop@master ~]$ mahout seqdumper -i output/clusteredPoints/part-m-00000