学习Hadoop中的几个问题

来源:互联网 发布:协同通信软件下载 编辑:程序博客网 时间:2024/06/01 09:31
1.eclipse配置hadoop插件
参考链接,我在这里学到的:http://www.micmiu.com/bigdata/hadoop/hadoop2-x-eclipse-plugin-build-install/
感谢前辈的指导

注1:在eclipse上测试wordcount中的几个注意的地方
·编写好测试的文档后要上传到HDFS上 如果文件夹(在hadoop目录下)是input 要传到的文件是tmp/input 则控制台代码是:
./bin/hadoop fs -put input/ /tmp/input
·查看是否上传成功:
./bin/hadoop fs -ls /tmp/input
·记得先在控制台启动hadoop

注2:关于安装git ,ant 在linux环境下
git:
https://help.github.com/articles/set-up-git/#platform-linux
ant:http://ant.apache.org/srcdownload.cgi
ant的环境变量:
export ANT_HOME=/home/jxxy/Downloads/apache-ant-1.9.6       <----我自己的环境变量
export PATH=$PATH:$ANT_HOME/bin

之后好像要source profile执行一下
然后输入ant -version有反应就好了

注3:WordCount的问题
在创建一个mapreduce项目后 在src下面建立一个class  复制WordCount的代码
保存 ,然后右键点击 RUN AS -> Run Configuration 在Auguments里面 我写的是
hdfs://192.168.18.107:9000/tmp/input
hdfs://192.168.18.107:9000/outputtest      <------这个名字随便取

地址哪里直接写localhost和我的主机名node7貌似也可以  , 没去验证 ,我按照hadoop的配置文件里面写的
然后重要的是运行之后 ,在我的DFS Location项目下面没看到,之后原来是点击一次disconnect之后才出来我的outputtest文件夹,不知为何 ,另外一个问题就是在网页 http://192.168.18.107:8088上面没有显示我跑过wordcount,但是其实结果是出来了的,我有点不解。

2.配置mahout插件
参考链接:http://itindex.net/detail/49323-mahout-%E5%AD%A6%E4%B9%A0-mahout

1.
http://mirrors.hust.edu.cn/apache/mahout/ 里面找最新一个版本或者任意
里面下载tar.gz结尾的那个

然后 在下载的文件夹里 用控制台
tar -zxcf apache-mahout-distribution-0.11.1.tar.gz

配置环境变量:在/etc下
sudo gedit profile

然后输入如下:
export MAHOUT_HOME=/home/jxxy/Downloads/apache-mahout-distribution-0.11.1      
export MAHOUT_CONF_DIR=$MAHOUT_HOME/conf
export PATH=$MAHOUT_HOME/conf:$MAHOUT_HOME/bin:$PATH

之后输入mahout会出来一串则表示成功
注:输入mahout之后控制台 有个显示:
MAHOUT_LOCAL is not set; adding HADOOP_CONF_DIR to classpath.
一开始是一位是HADOOP+CONF_DIR没设置,后面去profile里面看是有设置的,而且按照网上说的这样mahout已经安装配置成功了,那我就暂且用了,不知道会不会有后续影响。

后面知道了,在hadoop上使用mahout就不用管这个提示了,如果是单机用的话要配置(貌似)
待续。。。。。 11/19

11/20:
今天跑出了kemans算法  ,还可以 ,另外昨天的报错并没有什么影响,可以使用
首先是下载测试数据
http://archive.ics.uci.edu/ml/database/synthetic_control/synthetic_control.data

然后要在HDFS上建立一个路径 :
hadoop fs -mkdir -p /user/jxxy/testdata
hadoop fs -mkdir -p /user/jxxy/output

上传数据到HDFS上 
hadoop fs -put  /home/jxxy/Download/synthetic_control.data /user/jxxy/testdata
可以用fs -ls检测数据有没有传到指定文件夹

然后这一步很关键 输入:
hadoop jar mahout-examples-0.11.1-job.jar org.apache.mahout.clustering.syntheticcontrol.kmeans.Job

注意Job第一个是大写,从org开始就不能自动填充了,要自己一个个打正确。
然后就是等机器跑起来了,等个几分钟就有结果,但是现在结果里面是乱码,正在找解决的办法。总之,mahout可在hadoop上处理数据集,离我实验决策树算法又接近了一步。

0 0
原创粉丝点击