基于Eclipse的Hadoop应用开发环境配置和范例

时间:2023-01-13 17:18:15

基于EclipseHadoop应用开发环境配置和范例


开发环境:

操作系统Ubutu14.04虚拟环境

Hadoop版本:hadoop-1.2.1

Eclipse版本:eclipse-inst-linux64.tar.gz (通过它进行安装,是eclipse4.5.0版本)

第一步:1)启动ssh:

基于Eclipse的Hadoop应用开发环境配置和范例

若不是第一次登陆,而且还需要密码,那说明ssh没有达到免密码登陆的要求,请重装。

2)启动hadoop守护进程

      先用命令:bin/start-all.sh启动,然后使用jps查看是否正常启动(容易出现不能正常启动的是namenode和datanode)

基于Eclipse的Hadoop应用开发环境配置和范例

第二步:在eclipse上安装hadoop插件

1.复制 hadoop安装目录/contrib/eclipse-plugin/hadoop-1.2.1-eclipse-plugin.jar 到 eclipse安装目录/plugins/ 下。 (可能在hadoop安装目录下找不到,那就重新下一个,可能eclipse目录下没有plugins文件,则新建一个即可)
2.重启eclipse,配置hadoop installation directory。 
如果安装插件成功,打开Window-->Preferens,你会发现Hadoop Map/Reduce选项,在这个选项里你需要配置Hadoop installation directory。配置完成后退出。

基于Eclipse的Hadoop应用开发环境配置和范例

3.配置Map/Reduce Locations。  

在Window-->Show View中打开Map/Reduce Locations。 
在Map/Reduce Locations中新建一个Hadoop Location。在这个View中,右键-->New HadoopLocation。在弹出的对话框中你需要配置Location name,如Hadoop,还有Map/Reduce Master和DFS Master。这里面的Host、Port分别为你在mapred-site.xml、core-site.xml中配置的地址及端口。我用的是本机,所以是localhost,如:

基于Eclipse的Hadoop应用开发环境配置和范例

配置完后退出。点击DFS Locations-->Hadoop如果能显示文件夹(1)如下:(网上说是2,我这里测试显示1也正确)说明配置正确,如果显示"拒绝连接",请检查你的配置。

基于Eclipse的Hadoop应用开发环境配置和范例
第三步:新建项目。 
File-->New-->Other-->Map/Reduce Project 
项目名可以随便取,如WordCount。 
复制 hadoop安装目录/src/example/org/apache/hadoop/example/WordCount.java到刚才新建的项目下面。 
第四步:上传模拟数据文件夹。 
为了运行程序,我们需要一个输入的文件夹,和输出的文件夹。
在本地新建word.txt

java c++ python c
java c++ javascript
helloworld hadoop
mapreduce java hadoop hbase

通过hadoop的命令在HDFS上创建/tmp/workcount目录,命令如下:bin/hadoop fs -mkdir /tmp/wordcount

通过copyFromLocal命令把本地的word.txt复制到HDFS上,命令如下:bin/hadoop fs -copyFromLocal /home/grid/word.txt /tmp/wordcount/word.txt

(网上说也可以使用命令,没试过,不能确保可行:bin/hadoop fs -put input input )
第五步:运行项目

1.在新建的项目Hadoop,点击WordCount.java,右键-->RunAs-->Run Configurations 
2.在弹出的Run Configurations对话框中,点Java Application,右键-->New,这时会新建一个application名为WordCount 
3.配置运行参数,点Arguments,在Program arguments中输入“你要传给程序的输入文件夹和你要求程序将计算结果保存的文件夹”,如:

hdfs://centos1:9000/tmp/wordcount/word.txt   hdfs://centos1:9000/tmp/wordcount/out

4、如果运行时报java.lang.OutOfMemoryError: Java heapspace 配置VM arguments(在Program arguments下,一般情况是不用配置,我的没有配置)

-Xms512m -Xmx1024m-XX:MaxPermSize=256m

基于Eclipse的Hadoop应用开发环境配置和范例

5.点击Run,运行程序。 
点击Run,运行程序,过段时间将运行完成,等运行结束后,查看运行结果,使用命令: bin/hadoop fs -ls /tmp/wordcount/out查看例子的输出结果,发现有1个文件夹和一个文件(网上有的说是两个文件夹和一个文件,可能是版本的问题),使用命令查看part-r-00000文件, bin/hadoop fs-cat /tmp/wordcount/out/part-r-00000可以查看运行结果。

c    1
c++    2
hadoop    2
hbase    1
helloworld    1
java    3
javascript    1
mapreduce    1
python    1

 完。。。。

基于Eclipse的Hadoop应用开发环境配置和范例