hadoop是基于linux操作系统的。
本文在linux ubuntu系统下,在eclipse下配置hadoop的开发环境。
这个开发环境对linux下的hadoop伪分布式配置有效,其他配置情况不明。
如果是完全分布式环境,需要重新设置core-site.xml,hdfs-site.xml,mapred-site.xml(如果启动了yarn,还是需要设置yarn-site.xml)
主要是从这几个文件中,获得相应port值(设置插件的general),和其他参数(用于设置hadoop的eclipse插件advanced parameters)
需要用到hadoop的eclipse插件。
需要用的文件有:
core-site.xml
hdfs-site.xml
mapred-site.xml(伪分布式下为mapred-site.xml.template)
基本步骤:
1、下载hadoop eclipse插件。注意与hadoop对应,我的是hadoop2.7.2.
2、tar解压,并放入eclipse的plugins目录下。
3、重启eclipse,就能看到preferences下的mapreduce选项。
4、打开mapreduce,将它与hadoop安装目录相连接。
5、eclipse下打开mapreduce locations的view。
6、新建一个hadoop location,设置如下:
注意:DFS Master的host,port与core-site.xml的ip,端口号保持一致。
Map/Reduce的host,port与mapred-site.xml的ip,端口号保持一致。(我这里是伪分布式,MapReduce的port设置成9001,运行是没问题的),但mapred-site.xml中没有设置端口号。以后可能会出问题。
location name随便起,是为了eclipse的标示用。
user name实践看,也可以随便起。不过我这里还是用了ubuntu当初配置hadoop的用户名,即hadoop.
7、以上就完成了eclipse与hadoop集群的连接。
接着就可以通过这个插件,DFS locations查看HDFS上的文件夹和文件,上载/下载,删除,更新,连接/断开,新建文件夹等。
8、在linux终端启动hadoop.
格式化hdfs:/bin/hdfs namenode -format
启动namenode,datanode:/sbin/start-dfs.sh
查看是否启动成功:jps
在浏览器查看namenode状态:http://localhost:50070/
新建input文件:/bin/hdfs dfs -mkdir /user/hadoop/input
运行jar包程序:/bin/hadoop jar ****-examples.jar grep input ourput 'dfs[z-a.]+'(统计以dfs开头的行)
得到运行结果:可以在浏览器上看,也可以通过hadoop eclipse插件看。
注意:hadoop程序的输出文件output一定不能存在。下次运行时,一定要修改输出文件名output2,否则会出错。
9、接下来,就是mapreduce程序的编写工作了。下篇文章再讲。
参考文章
1、http://www.linuxidc.com/Linux/2014-04/100256.htm
2、http://www.cnblogs.com/linjiqin/archive/2013/06/21/3147902.html
3、http://www.51itong.net/eclipse-hadoop2-7-0-12448.html
4、http://hadoop.apache.org/docs/current/(配置文档官方说明)