使用hadoop-eclipse-plugin插件

 一直使用hadoop都没有用过hadoop-plugins插件,倒不是看不上这个插件的意思。只是个人感觉使用SecureCRT太好用了。上传一个jar直接一拉进去使用lrzsz(z-moden)就直接搞定了。

 

但是,只是身边搞hadoop的大部分都使用,今天略有兴致的弄了一弄,把环境hadoop-eclipse-plugins整起来了。在公司本来就使用插件来开发的,同时也看看Run-on-Hadoop的大致的实现。

 

环境准备:

eclipse-jee-3.7

jdk7

hadoop-1.0.0

 

插件编译导出,放置到eclipse/dropins下面。

 

打开eclipse,把hadoop-1.0.0\src\contrib\eclipse-plugin整个工程导入(本来就是一个eclipse的project)。工程的lib目录下面已经包括了hadoop-core-1.0.0.jar包,但是hadoop-core-1.0.0.jar需要其他的依赖的jar包。我把这些依赖的jar从hadoop-1.0.0\lib下面复制到eclipse的/MapReduceTools/lib目录下。

 

然后,打开eclipse的/MapReduceTools/META-INF/MANIFEST.MF文件,切换到Runtime标签页,在classpath区域点击“Add...”添加lib下面的所有jar。



 

 然后,再切换到Overview标签页,导出插件。



 

导出以后,把导出的插件拷贝都eclipse/dropins目录下。



 

然后重启。

 

配置环境:

1 设置HADOOP_HOME的位置。

 

设置Preferences中的Hadoop Map/Reduce的Hadoop installation directory为你hadoop的主目录。我这里是C:\cygwin\home\Winseliu\hadoop-1.0.0(主要是用来把hadoop/lib加入到MapRed Project的classpath用的)。

 

2 切换到Mapreduce透视图(Window | Open Perspective | other | Map/Reduce),然后新建一个Hadoop Location。操作如图:



 

3 然后,如果集群启动了,就可以看到下图的效果了。



 

mapred插件提供的MapReduce Driver类还是不错的,把从写JobMain繁琐的工作中稍稍解放了一点。


 

Run-on-Hadoop的实现

 一般我们在设置Job(JobConf).setJarByClass(WordCount.class)都是设置Main对应的主类。

 

查看源码,就可以得知,其实最终,设置的是conf的mapred.jar属性!在提交的job时刻,会把该属性对应的jar拷贝到HDFS,最后发布到每台运行的机器上。



 

 

所以,也就是说,只要把需要的class导出为jar,然后把该jar对应的路径给mapred.jar的属性即可。

 

理着这思路,在源码中有org.apache.hadoop.eclipse.server.JarModule类调用JDT的JarPackageData来处理jar的导出工作。

JarModule类在 org.apache.hadoop.eclipse.servers.RunOnHadoopWizard.performFinish()方法中被调用。也就是Run-on-Hadoop后弹出的对话框,选择了“运行节点”后的“Finish按钮”被点击时。



 

然后,会把该jar的路径写入到conf,最后有写入到一个core-site.xml的配置文件中。该core-site.xml文件的路径会被加入到classpath,也就说Main方法的Configuration会加载这个配置文件!

 

    JobConf conf = new JobConf(location.getConfiguration());
    conf.setJar(jarFile.getAbsolutePath());

    // Write it to the disk file
    try {
      // File confFile = File.createTempFile("core-site-", ".xml",
      // confDir);
      File confFile = new File(confDir, "core-site.xml");
      FileOutputStream fos = new FileOutputStream(confFile);
      try {
        conf.writeXml(fos);

 

把conf的目录加入到classpath:

 

      classPath =
          iConf.getAttribute(
              IJavaLaunchConfigurationConstants.ATTR_CLASSPATH,
              new ArrayList());
      IPath confIPath = new Path(confDir.getAbsolutePath());
      IRuntimeClasspathEntry cpEntry =
          JavaRuntime.newArchiveRuntimeClasspathEntry(confIPath);
      classPath.add(0, cpEntry.getMemento());

 

后面的步骤就和一个普通的java类被调用一样的效果咯!

 

涉及影响的文件:



 

 

 参考资源:

http://my.oschina.net/zhujinbao/blog/56236

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: hadoop-eclipse-plugin2.10.1是一个适用于eclipse集成开发环境的Hadoop插件Hadoop是一个开源的分布式计算框架,用于处理大规模数据集。在处理大数据时,Hadoop提供了高可靠性、高可扩展性和高容错性的架构。而hadoop-eclipse-plugin2.10.1插件的作用就是方便开发人员在eclipse中进行Hadoop应用程序的开发和调试。 使用hadoop-eclipse-plugin2.10.1插件,我们可以在eclipse中创建和管理Hadoop项目,可以方便地编写、调试和运行Hadoop应用程序。该插件提供了一个Hadoop图形界面,在eclipse的界面中显示Hadoop集群的状态和作业信息,使开发人员可以更加直观地了解Hadoop集群的运行情况。 此外,hadoop-eclipse-plugin2.10.1还通过提供Hadoop项目的模板和代码自动生成工具,简化了Hadoop应用程序的开发过程。开发人员可以选择合适的模板,根据自己的需求生成Hadoop应用程序的基本骨架,从而加快应用程序的开发速度。 总之,hadoop-eclipse-plugin2.10.1是一个强大的Hadoop开发工具,它使得在eclipse中进行Hadoop应用程序的开发和调试变得更加简单和高效。无论是初学者还是熟练的开发人员,都可以通过这个插件来更好地利用Hadoop的强大功能,处理和分析大规模的数据集。 ### 回答2: hadoop-eclipse-plugin 2.10.1 是一款用于在 Eclipse IDE 中开发和调试 Hadoop 应用程序的插件Hadoop 是一个开源的分布式计算框架,可实现高容错性和高可伸缩性,用于处理大规模数据集的分布式计算。 该插件提供了一系列工具和功能,使开发人员可以更轻松地在 Eclipse 中编写和调试 Hadoop 应用程序。使用插件,开发人员可以在 Eclipse 中创建和管理 Hadoop 项目,编写 MapReduce 任务,并进行本地调试和单元测试。 hadoop-eclipse-plugin 2.10.1 支持各种 Hadoop 版本,包括 Hadoop 1.x 和 Hadoop 2.x。它包含了与 Hadoop 兼容的文件系统和作业操作的 API,可以在 Eclipse 中连接到 Hadoop 集群。该插件还提供了一个可视化的用户界面,用于管理 Hadoop 集群和作业的监控和调度。 使用 hadoop-eclipse-plugin 2.10.1,开发人员可以方便地创建和管理 Hadoop 集群,上传和下载文件,运行和监控作业等。此外,该插件还提供了一键进行本地调试的功能,方便开发人员在开发过程中快速验证和调试代码。 总结而言,hadoop-eclipse-plugin 2.10.1 是一个功能强大的插件,为开发人员提供了在 Eclipse 中开发和调试 Hadoop 应用程序的便利。通过该插件,开发人员可以更高效地开发和测试 Hadoop 应用程序,提高开发效率和应用程序的质量。 ### 回答3: hadoop-eclipse-plugin2.10.1是一款HadoopEclipse集成的插件Hadoop是一个用于存储和处理大规模数据集的开源框架,而Eclipse是一种流行的集成开发环境(IDE),用于开发各种应用程序。 hadoop-eclipse-plugin2.10.1提供了一系列功能,使开发人员能够在Eclipse中更方便地进行Hadoop应用程序的开发和调试。它提供了Hadoop项目模板,可以帮助我们快速创建和配置Hadoop项目。同时,插件还提供了Hadoop任务以及作业的运行和监视功能,让开发人员可以直接在Eclipse中执行和监控Hadoop任务。 除了基本功能外,hadoop-eclipse-plugin2.10.1还提供了一些高级功能,包括对Hadoop文件系统的浏览和管理、Hadoop集群的状态监控、Hadoop任务的调试功能等。这些功能使得开发人员能够更加高效地开发、测试和调试Hadoop应用程序。 要使用hadoop-eclipse-plugin2.10.1,首先需要在Eclipse中安装插件。安装完成后,可以通过创建Hadoop项目或导入现有的Hadoop项目来开始开发。在项目中,可以使用插件提供的各种功能来进行Hadoop任务的执行和监视,以及文件系统的管理和调试等操作。 总之,hadoop-eclipse-plugin2.10.1是一个方便的插件,能够帮助开发人员更好地在Eclipse中开发和调试Hadoop应用程序。它提供了一系列功能,使得Hadoop的开发工作更加高效和便捷。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值