在eclipse中运行hadoop程序

来源:互联网 发布:阿里云cdn 防cc设置 编辑:程序博客网 时间:2024/05/16 23:52
准备工作,安装包:
图片

第一步,在linux下安装好hadoop,http://user.qzone.qq.com/627956202/infocenter#!app=2&via=QZ.HashRefresh&pos=1351246281

第二步,在Eclipse下安装hadoop-plugin。

1.复制 hadoop安装目录/contrib/eclipse-plugin/hadoop-0.20.2-eclipse-plugin.jar 到 eclipse安装目录/plugins/ 下。

2.重启eclipse,配置hadoop installation directory。
如果安装插件成功,打开Window-->Preferens,你会发现Hadoop Map/Reduce选项,在这个选项里你需要配置Hadoop installation directory。配置完成后退出。



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

Map/Reduce Master
  1. localhost 
  2. 9001
localhost9001

DFS Master
  1. localhost 
  2. 9000
localhost9000




第三步,新建项目。
File-->New-->Other-->Map/Reduce Project
项目名可以随便取,如hadoop-test
配置完后退出。点击DFS Locations-->myubuntu如果能显示文件夹(2)说明配置正确,如果显示"拒绝连接",请检查你的配置。



src中建一个package,复制 hadoop安装目录/src/example/org/apache/hadoop/example/WordCount.java到刚才新建的package下面(否则,易出现错误:Main type not specified)

第四步,上传模拟数据文件夹。
为了运行程序,我们需要一个输入的文件夹,和输出的文件夹。输出文件夹,在程序运行完成后会自动生成。我们需要给程序一个输入文件夹。

1.在当前目录(如hadoop安装目录)下新建文件夹input,并在文件夹下新建两个文件file01、file02,这两个文件内容分别如下:

file01

Hello World Bye World

file02

Hello Hadoop Goodbye Hadoop


2.将文件上传到分布式文件系统中。

在已经启动Hadoop守护进程终端中cd 到hadoop安装目录,运行下面命令:
!注意:在上传时,由于权限问题,不能通过eclipse粘贴上传,通过
!hadoop fs -put file01 input01
!hadoop fs -put file02 input01

这个命令将两个文件上传到了hadoop文件系统,在该系统下就多了一个input01文件夹,你可以使用下面命令查看:

hadoop fs -ls

!上传到文件夹后,在eclipse中刷新就可以看到那个上传的文件夹input01,而且里面有两个上传好的文件

第五步,运行项目。

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

hdfs://localhost:9000/user/panhuizhi/input01 hdfs://localhost:9000/user/panhuizhi/output01

!这两个地址很关键,一个是输入,一个是输出

这里面的input01就是你刚传上去文件夹。文件夹地址你可以根据自己具体情况填写。



4.点击Run,运行程序。

点击Run,运行程序,过段时间将运行完成,等运行结束后,可以在终端中用命令:

bin/hadoop fs -ls
查看是否生成文件夹output01。

用下面命令查看生成的文件内容:

bin/hadoop fs -cat output01/*

如果显示如下,恭喜你一切顺利,你已经成功在eclipse下运行第一个MapReduce程序了。
Java代码
  1. Bye 1
  2. Goodbye 1
  3. Hadoop  2
  4. Hello   2
  5. World   2
注意:在编译的过程中报错

警告:
Permission denied: user=Administrator, access=WRITE, inode="root":root:supergroup:rwxr-xr-x

此类错误说明本地用户administrator(本机windows用户)想要远程操作hadoop系统,没有权限引起的。

解决方法给相应没权限的目录设置下777权限。如给root目录设置权限

hadoop fs -chmod 777 /user/root

执行完上面命令后再在eclipse里执行编译就没问题了!


重新试了一下,以下方法非常合适
error:org.apache.oozie.action.ActionExecutorException: JA002:org.apache.hadoop.security.AccessControlException: Permissiondenied: user=xxj, access=WRITE,inode="user":hadoop:supergroup:rwxr-xr-x

sulution:added this entry to conf/hdfs-site.xml

<property>
<name>dfs.permissions</name>
<value>false</value>
</property>


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 脚痒还有小泡泡怎么办 外阴长了肉疙瘩怎么办 嘴巴里泡泡破了怎么办 脚上泡泡破了怎么办 脸被自己扣破了怎么办 6s安装不了软件怎么办 苹果6s特别卡怎么办 苹果手机4g网慢怎么办 大王卡玩王者卡怎么办 荣耀7c手机卡顿怎么办 华为6x手机卡顿怎么办 荣耀7c手机老卡怎么办 苹果6打王者卡怎么办 电脑玩游戏显示显卡不行怎么办 笔记本玩游戏显卡不行怎么办 笔记本玩英雄联盟有点卡怎么办 英语考试作文抄了阅读理解怎么办 qq账号被盗怎么办很久了 想玩线上德州没有渠道怎么办 手机玩久了头晕怎么办 玩3d游戏头晕恶心怎么办 win10打cf没声音怎么办 英雄联盟玩家尚未准备就绪怎么办 玩手机想吐应该怎么办 玩手机多了头晕怎么办 玩cf老是无响应怎么办 玩穿越火线好卡怎么办 绝地求生画质卡顿怎么办 手机热点玩lol卡怎么办 一加6直播触手黑屏怎么办 ipad应用商店密码忘记了怎么办 爱派忘记了密码怎么办 爱派id密码忘了怎么办 爱派密码忘了怎么办 爱派的密码忘了怎么办 苹果爱派密码忘了怎么办 鼠标无法识别的usb设备怎么办 电脑鼠标无法识别usb设备怎么办 win7电脑用户密码忘了怎么办 联想win7旗舰版开不了机怎么办 驱动都被卸载了怎么办