Hadoop家族安装系列(2)——安装Mahout0.9框架


在Hadoop1.2.1分布式集群环境下安装Mahout0.9框架

 

友情提醒:大家最好通读一遍过后,在理解的基础上按照步骤一步一步设置,因为后面的会对前面的有所启示。

一、前提条件

Hadoop1.2.1分布式集群环境搭建成功,并且Hadoop集群服务器正常运行

二、所需环境和软件

1. Hadoop分布式集群环境

见《在VMware下安装Ubuntu并部署Hadoop1.2.1分布式环境》。

2. Mahout0.9框架: mahout-distribution-0.9.tar.gz

3. 测试数据(自行下载,并另存为 synthetic_control.data.txt 格式):

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

三、安装Mahout

1. 拷贝下载下来的mahout-distribution-0.9.tar.gz包,到Hadoop集群的masters机器的桌面上。

2. 解压mahout-distribution-0.9.tar.gz包,解压有二种方法。

方法一:使用命令 tar -zxvf mahout-distribution-0.9.tar.gz

方法二:见(图1)


(图1)

3. 移动生成的mahout-distribution-0.9文件夹到opt下,如(图2)所示。

sudo mv mahout-distribution-0.9 /opt/mahout-distribution-0.9


(图2)

4. 配置mahout环境变量,如(图3)所示。

使用命令:sudo gedit /etc/profile

打开文件后在里面添加如下内容:

export HADOOP_CONF_DIR=${HADOOP_HOME}/conf

export MAHOUT_HOME=/opt/mahout-distribution-0.9

export MAHOUT_CONF_DIR=${MAHOUT_HOME}/conf

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


(图3)

5. 使用命令: source /etc/profile  使环境变量立即生效,如(图4)所示。


(图4)

6. 到此,Mahout安装好了,下面运行一个案例来验证一下。

四、运行一个Mahout案例

1. 准备测试数据

从下面网站下载测试数据,另存为 synthetic_control.data.txt 格式,并拷贝到Hadoop集群的masters机器的桌面上,如(图5)所示。

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


(图5)

2. 启动hadoop集群

使用命令 start-all.sh 启动hadoop集群,并使用jps命令查看是否启动成功,如(图6)所示。


(图6)

3. 使用以下命令创建测试目录testdata,如(图7)所示。

hadoop fs -mkdir testdata

备注:这里的目录名称只能为testdata,为什么我也不知道。


(图7)

4. 使用命令 hadoop fs -ls 查看创建testdata目录情况,如(图8)所示。


(图8)

5. 把测试数据synthetic_control.data.txt,导入testdata中,并查看导入情况,如(图9)所示。

hadoop fs -put /home/hadoop/桌面/synthetic_control.data.txt testdata



(图9)

6. ,使用以下命令,运行k-means算法,如(图10)所示。

hadoop jar /opt/mahout-distribution-0.9/mahout-examples-0.9-job.jar org.apache.mahout.clustering.syntheticcontrol.kmeans.Job

 

备注:这个算法需要运行3到5分钟,启动10个MapReduce Job任务。


(图10)

7. 运行生成的结果,如(图11)所示,而且运行的结果比较多已经超出了缓冲区的范围,下面只截取一小部分。


(图11)

8. 查看结果,如(图12)所示。

使用命令: hadoop fs -ls output


(图12)

9. 出现如(图11、12)所示页面,说明mahout的案例运行成功了。

备注

/user/hadop/output/data:存放的是原始数据,这个文件夹下的文件可以用mahout vectordump来读取,原始数据是向量形式的,其它的都只能用mahout seqdumper来读取,向量文件也可以用mahout seqdumper来读取,只是用vectordump读取出来的是数字结果,没有对应的key,用seqdumper读出来的可以看到key,即对应的url,而value读出来的是一个类描述,而不是数组向量

命令:

mahout vectordump -/user/hadoop/output/data/part-m-00000

mahout seqdumper -i /user/hadoop/output/data/part-m-00000

 

有的书上或者资料上要运行下面命令,我在mahout0.9版本测试通不过(可能的原因是版本问题)。

mahout vectordump --seqFile /user/hadoop/output/data/part-m-00000

 

 2014年3月7日

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值