mac下eclipse调试vagrant hadoop


情况简介

mac下不想装图形界面虚拟机,所以用vagrant+virtual box虚拟了ubuntu环境,在ubuntu下配置好hadoop环境,然后利用eclipse远程调试

准备

  • vagrant环境
  • virtual box
  • hadoop环境,我的是hadoop 2.5.2 + hbase 0.98.11

一切部署都在这里弄好了,配一次,以后可以直接用了,不要因为换机器而烦恼了……:

vagrant-cascading-hadoop-cluster

配置步骤

  • step1: 假设hadoop + hbase都配置好了,在远程(或者vagrant里面)
  • step2: 下载安装eclipse,官网解决即可,for os x
  • step3: 下载hadoop2x-eclipse-plugin,放入ecipse插件下

在release目录下,没想到2.6.0的插件居然也做好了,2.6.0可以兼容2.5.2,可以放心使用,执行以下操作

cp hadoop-eclipse-kepler-plugin-2.2.0.jar /your_path/eclipse/plugins
/your_path/eclipse/ -clean
  • step4: 下载hadoop源码包,在本地,无需配置,解压即可,eclipse要用到里面的lib文件,在preference里面,添加hadoop的location即可。比如:~/hadoop-2.5.2/

  • step5: eclipse->window->Open Perspective->others->mapreduce,下方mapreduce location,右键添加location

接下来要配置location的一些参数,我的配置如下:

location name: Namenode
map/reduce(v2) Master:
host:192.168.7.10
port:9001

dfs master:
host:192.168.7.10
port:9000

username:vagrant

IP为远程IP,此处为vagrant的master节点对应的ip(伪分布式)

  • step6: 新建mapreduce项目,新建一个class,就可以开始写程序了

可以用官方的程序做一个验证

  • step7: 配置参数:

下面是我的运行参数配置,ip地址也可以改为master.local,当然修改了hosts

hdfs://192.168.7.10:9000/tmp/pg20417.txt hdfs://192.168.7.10:9000/tmp/pg20417.out
  • step8: 运行,检测,搞定

  • step9: 添加log,在eclipse的控制台,在src里面加入log4j.properties即可

完成

此时,可以在eclipse里面尽情的远程调试hadoop程序了