千家信息网

部署安装 Mahout

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,一、Mahout简介Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建
千家信息网最后更新 2026年10月31日部署安装 Mahout

一、Mahout简介


Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Apache Mahout项目已经发展到了它的第三个年头,目前已经有了三个公共发行版本。Mahout包含许多实现,包括集群、分类、推荐过滤、频繁子项挖掘。此外,通过使用 Apache Hadoop 库,Mahout 可以有效地扩展到云中。

(就是他,骑在象头上的那个Mahout)



在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类


方法一、Mahout安装、配置


一、下载Mahout

http://archive.apache.org/dist/mahout/

二、解压

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

三、配置环境变量

3.1、配置Mahout环境变量

# set mahout environment

export MAHOUT_HOME=/home/yujianxin/mahout/mahout-distribution-0.9

export MAHOUT_CONF_DIR=$MAHOUT_HOME/conf

export PATH=$MAHOUT_HOME/conf:$MAHOUT_HOME/bin:$PATH

3.2、配置Mahout所需的Hadoop环境变量

# set hadoop environment

export HADOOP_HOME=/home/yujianxin/hadoop/hadoop-1.1.2
export HADOOP_CONF_DIR=$HADOOP_HOME/conf

export PATH=$PATH:$HADOOP_HOME/bin

export HADOOP_HOME_WARN_SUPPRESS=not_null


四、验证Mahout是否安装成功

执行命令mahout。若列出一些算法,则成功,如图:

五、使用Mahout 之入门级使用

5.1、启动Hadoop

5.2、下载测试数据

http://archive.ics.uci.edu/ml/databases/synthetic_control/链接中的synthetic_control.data

5.3、上传测试数据

hadoop fs -put synthetic_control.data /user/root/testdata

5.4 使用Mahout中的kmeans聚类算法,执行命令:

mahout -core org.apache.mahout.clustering.syntheticcontrol.kmeans.Job

花费9分钟左右完成聚类 。

5.5 查看聚类结果

执行hadoop fs -ls /user/root/output,查看聚类结果。

方法二、 Mahout安装与配置

Mahout是Hadoop的一种高级应用。运行Mahout需要提前安装好Hadoop。Hadoop的安装网上很多,并不复杂,这里不再讲述,接下来阐述怎么安装Mahout。
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

如果看到以下结果那么算法运行成功,你的安装也就成功了。
clusteredPoints clusters-0 clusters-1 clusters-10 clusters-2 clusters-3 clusters-4 clusters-5 clusters-6 clusters-7 clusters-8 clusters-9 data


算法 配置 成功 变量 环境 目录 结果 测试 向量 均值 数据 方法 分析 运行 相似 三个 二进制 命令 成分 文件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州万易互联网科技有限公司 厦门中拓互联网络科技有限公司 腾讯阿里互联网科技 北京互联网科技 有木互联网科技 广西互联网科技公司 狮子座互联网科技培训 天速互联网络科技有限公司 深圳国际航运科技和互联网 互联网之后的科技是什么 科技与互联网哪个更好 福建科技产业互联网发展 智腾互联网科技有限公司 青岛科技大学互联网大赛研究生 注册互联网科技公司经营范围大全 乌苏新华互联网科技做什么的 互联网科技包装股份有限公司上市 互联网科技职业技能培训学校 互联网的科技体现在哪里 北京品多多互联网科技有限公司 互联网科技有限公司经营范围 睿民互联网科技 广西互联网科技公司 北京华百购互联网科技有限公司 湖北码尼互联网科技有限公司电话 科技互联网海报 广州燕处互联网科技有限公司 全球科技与互联网公司市值变化 湖北辰鑫科技互联网 恒生科技指数 中概互联网
0