您的位置:首页 > 运维架构 > Linux

eclipse远程调试搭载在Linux上的Hadoop的步骤

2015-08-18 14:56 507 查看
开发环境:

1.hadoop-0.20.2

2.eclipse 3.6.2

3.linux的版本是centos 6.2

在开始配置eclipse之前,先要在Linux上安装并配置好hadoop。

我在装hadoop的时候出现过运行start-all.sh报permission denied错误的问题,当时我使用的是root账户,百度说hadoop有自己的权限系统,需要给root账户授权等等等,然并卵,我并没有看懂。最后发现问题在于我是在windows下下载好Hadoop之后再上传到服务器,改为在linux下下载hadoop再解压并按官网上的步骤配置之后就没有问题了。

hadoop安装步骤见官网。

进入正题。

1.插件设置:

在windows系统上也下载一个hadoop-0.20.2,进入contrib->eclipse-plugin文件夹,复制这个文件夹底下的hadoop给eclipse准备的插件到eclipse下的dropins或者plugins目录。

打开eclipse之后在preference下看到有Hadoop Map/Reduce则说明安装成功了。

进入此界面设置hadoop安装路径。











设置好以后在菜单栏点window->show view->others,输入map搜索,把Map/Reduce Locations窗口调出来。

如图:



点图上圈住的地方增加一个hadoop连接,点开之后界面如下:



Map/Reduce Master填mapred-site.xml上配置的主机号和端口,DFS Master的Host和port填入hadoop的core-site.xml上配置的端口。location name随便填。

配好以后插件设置完成。

2.project连接hadoop。

这里需要新建一个Map/Reduce工程,而非普通的java工程。



如果已经开发好了java工程的话,把源码复制过去就好了,记得配好lib。

新建好Map/Reduce工程之后,eclipse会自动生成一个DFS Location



hadoop-test是上一步配置hadoop连接的时候你设置的location name。

展开hadoop-test,可以看到一个文件树,这个文件树就是你的hadoop上的hdfs文件系统,可以在此对hdfs文件系统进行上传、删除、下载等操作。

PS:由于

Configuration conf = new Configuration();

FileSystem fs = FileSystem.get(conf);

获得的对象是LocalFileSystem,因此在创建fs之前,需要先配置conf到远程服务器,使用以下代码即可:

conf.set("fs.default.name","hdfs://your-host:your-hdfsport");

至此所有工作结束,可以右键main方法 -> debug as ->java application开始调试了。

PS:如果工程中需要传入main方法的参数args,右键main方法 -> debug as -> debug configuration配置。



PPS:运行时如果出现


java.io.IOException: Cannot run program "chmod": CreateProcess error=2

这样的异常,参考http://javaprotlib.sourceforge.net/resources/lib/hadoop/cygwin-chmod.tar.gz(需要翻墙)
照顾翻不过去的旁友,简述一下解决方法:
step1:下载这个链接的文件(chmod和dll)http://pan.baidu.com/s/1o6vdUoM,解压即可,不需要安装。
step2:把上面那个解压目录配置到windows的环境变量的Path值中。
step3:双击chmod.exe。
打开eclipse就可以开始调试了。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: