启动eclipse:打开windows->open perspective->other->map/reduce 可以看到map/reduce开发视图。设置Hadoop location.
打开windows->show view->other-> map/reduce Locations视图,在点击大象后【new Hadoop location】弹出的对话框(General tab)进行参数的添加:
Location name: 任意
map/reduce master: 与mapred-site.xml里面mapred.job.tracker设置一致。
DFS master:与core-site.xml里fs.default.name设置一致。
User name: 服务器上运行hadoop服务的用户名。
这些已经足够用。当然,如果你需要特殊设置,那么打开Advanced parameters设置面板,查看当前的选项以及修改其值.
创建Map/Reduce Project。运行最简单的WordCount程序。
点击Run on hadoop, 运行程序。你可以看到在output文件夹中出现文本段
运行时可能会出现内存溢出的异常:
原因是客户端程序运行时java虚拟机内存分配不够,修改run configuration(run as >run configurations),选择Arguments选项卡,在VM arguments栏中加入-Xmx1024m,保存后执行没有问题(即将执行时虚拟机内存调大)
在eclipse中运行wordcount.java,比在终端运行要简单,首先su进入超级账户,运行eclipse,这里首先要确保eclipse的hadoop插件已经成功安装。hadoop启动,将eclipse中的dfs系统配置后,在eclipse页面的左侧dfs处刷新,新建文件夹input,upload想要测试的文件,然后在run->run
as->run
configration中配置参数,在argument选项卡中配置wordcount的参数,即测试文件和输出文件夹的位置,中间用空格隔开,本人是如此配置的,hdfs://localhost:8020/user/root/input
hdfs://localhost:8020/user/root/output,点击run,运行完毕后在output文件夹中查看结果。
目前测试没有解决的问题是不用root账户打开eclipse无法运行mapreduce,无法新建location,应该是插件的问题。