q456123 发表于 2017-12-17 07:40:18

hadoop下安装mahout

安装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>=.:$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>

  
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文件系统中的文件)
页: [1]
查看完整版本: hadoop下安装mahout