您的位置:首页 > 运维架构

hadoop下安装mahout

2016-12-22 14:42 176 查看

安装hadoop

完成

安装mahout

首先下载mahout压缩文件apache-mahout-distribution-0.12.2.tar.gz

放到/home/hadoop/software-ljd/下

解压该文件到/home/Hadoop/mahout下:

tar –zxvf apache-mahout-distribution-0.12.2.tar.gz –C /home/Hadoop/mahout/


完成后需要配置环境变量:/etc/profile文件需要新增(maven:非必须,java:必须,hadoop:必须, mahout:必须)如下的配置

###配置maven home

export MAVEN_HOME=/usr/share/maven

export PATH=$PATH:$MAVEN_HOME/bin

### java配置

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_101

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

###mahout配置

export MAHOUT_HOME=/home/hadoop/mahout/apache-mahout-distribution-0.12.2

export MAHOUT_CONF_DIR=$MAHOUT_HOME/conf

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

####配置mahout所需要的hadoop环境

export HADOOP_HOME=/home/hadoop/hadoop-2.7.1

export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

export PATH=$PATH:$HADOOP_HOME/bin

export HADOOP_HOME_WARN_SUPPRESS=not_null


需要在root下配置,完成后保存,然后 source /etc/profile 立即生效

检测mahout是否配置成功

到mahout-home下执行bin/mahout 查看



这里需要说明下,当你看到下面的代码时,以为是错的,其实不是,原因:

MAHOUT_LOCAL:设置是否本地运行,如果设置这个参数就不会运行hadoop了,一旦设置这个参数,那HADOOP_CONF_DIR 和HADOOP_HOME 这两个参数的

设置就自动失效了。

MAHOUT_LOCAL is not set; adding HADOOP_CONF_DIR to classpath.

hadoop binary is not in PATH,HADOOP_HOME/bin,HADOOP_PREFIX/bin, running locally


在hadoop下使用mahout

先启动hadoop

首先下载测试数据

地址:http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data

在hadoop下创建testdata目录

bin/hadoop fs -mkdir /testdata(错误,需要创建的为/user/hadoop/testdata)

bin/hadoop fs -mkdir /user/hadoop

bin/hadoop fs -mkdir /user/hadoop/testdata(正确)


查看是否已经创建

bin/hadoop fs –ls /


然后把测试数据放到hadoop的testdata中

bin/hadoop fs -put /home/hadoop/software-ljd/data  /user/hadoop/testdata


运行mahout上的kmeans算法:

bin/hadoop jar /home/hadoop/mahout/apache-mahout-distribution-0.12.2/mahout-examples-0.12.2-job.jar org.apache.mahout.clustering.syntheticcontrol.kmeans.Job


最终运行结果



最终生成的文件在hdfs的/user/Hadoop/output/data/part-m-00000中

使用mahout vectordump –i /user/Hadoop/output/data/part-m-00000 –o /home/Hadoop/software-ljd/test.txt

将该文件转换成正常可读文件并存储到本机的文件系统中(输出文件在非hadoop文件系统,但是输入文件需要时hadoop文件系统中的文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: