一直使用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
相关推荐
在实际使用中,安装Hadoop-Eclipse-Plugin非常简单。只需将jar文件(如hadoop-eclipse-plugin-2.8.0.jar)复制到Eclipse的plugins目录下,然后重启Eclipse,即可在“New Project”中看到Hadoop相关的项目类型。在...
为了方便开发者在Eclipse环境中进行Hadoop应用程序的开发,Apache社区提供了Hadoop-Eclipse-Plugin插件,其版本号为2.6.4,是我们今天讨论的重点。这个插件大大简化了Hadoop项目创建、调试和部署的过程,提高了开发...
要在Eclipse中使用Hadoop-Eclipse-Plugin,通常需要先将插件JAR文件添加到Eclipse的插件目录,然后重启Eclipse。接着,需要配置Hadoop的集群信息,包括NameNode和JobTracker的地址,以便插件能够正确连接到Hadoop...
《Hadoop-eclipse-plugin-2.7.2:在Eclipse中轻松开发Hadoop应用》 在大数据处理领域,Hadoop作为一个开源的分布式计算框架,因其高效、可扩展的特性而备受青睐。然而,对于开发者而言,有效地集成开发环境至关重要...
Eclipse集成Hadoop2.10.0的插件,使用`ant`对hadoop的jar包进行打包并适应Eclipse加载,所以参数里有hadoop和eclipse的目录. 必须注意对于不同的hadoop版本,` HADDOP_INSTALL_PATH/share/hadoop/common/lib`下的jar包...
本文将深入探讨如何使用Eclipse IDE结合hadoop-eclipse-plugin-2.6.0.jar插件,实现在Windows环境下进行远程连接到Hadoop集群,尤其适用于64位操作系统。 首先,我们要理解Hadoop的核心概念。Hadoop是由Apache基金...
综上所述,为了在Windows 10环境中使用Hadoop,你需要安装并配置好JDK,下载Hadoop 2.9.2并设置相应的环境变量,同时利用Eclipse 2020-03和Hadoop-Eclipse-Plugin插件进行开发。如果你已经启动了Eclipse,记得在安装...
hadoop-eclipse-plugin-...将插件hadoop-eclipse-plugin-2.6.0.jar,从/data/hadoop3目录下,拷贝到/apps/eclipse/plugins的插件目录下。 cp /data/hadoop3/hadoop-eclipse-plugin-2.6.0.jar /apps/eclipse/plugins/
hadoop-eclipse-plugin-2.7.4.jar和hadoop-eclipse-plugin-2.7.3.jar还有hadoop-eclipse-plugin-2.6.0.jar的插件都在这打包了,都可以用。
hadoop-eclipse-plugin-1.2.1hadoop-eclipse-plugin-1.2.1hadoop-eclipse-plugin-1.2.1hadoop-eclipse-plugin-1.2.1
hadoop-eclipse-plugin-2.7.3和2.7.7的jar包 hadoop-eclipse-plugin-2.7.3和2.7.7的jar包 hadoop-eclipse-plugin-2.7.3和2.7.7的jar包 hadoop-eclipse-plugin-2.7.3和2.7.7的jar包
1. **Hadoop-Eclipse插件安装与配置**:要使用Hadoop-Eclipse插件,首先需要在Eclipse中安装该插件。这可以通过Eclipse的“Help”菜单 -> "Install New Software" -> "Add" 来完成,然后提供下载的插件JAR文件路径...
Hadoop-eclipse-plugin是Hadoop生态系统中的一个重要工具,它允许开发者使用Eclipse IDE直接在Hadoop集群上开发、测试和部署MapReduce程序。这个插件极大地简化了Hadoop应用程序的开发流程,使得Java开发者能够利用...
找不到与hadoop-2.9.2版本对应的插件,手动生成的hadoop-eclipse-plugin-2.9.2版本,
hadoop-eclipse-plugin-2.7.2.jar,编译环境win10-64,ant-1.9.6,eclipse-4.5.2(4.5.0可用,其他未测),hadoop-2.7.2
这就是Hadoop-Eclipse-Plugin插件的用武之地。这个插件是专门为Eclipse IDE设计的,使得开发人员可以在Eclipse中直接编写、运行和调试Hadoop MapReduce程序,极大地提高了开发效率。 Hadoop-Eclipse-Plugin 2.7.3...
eclipse hadoop 环境插件,hadoop-eclipse-plugin-2.8.0
hadoop-eclipse-plugin-2.8.3.jar hadoop eclipse插件,hadoop版本2.8.3,eclipse版本oxygen,亲测可以,用问题请留言:http://blog.csdn.net/familyshizhouna/article/details/78892500
该资源包里面包含eclipse上的hadoop-1.2.1版本插件的jar包和hadoop-1.2.1.tar.gz,亲测可用~~请在下载完该包后解压,将hadoop-1.2.1放置于Eclipse\plugins目录下,然后重启eclipse,将hadoop-1.2.1.tar.gz放到D:\...
hadoop-eclipse-plugin-2.7.1.jar插件,直接放在eclipse插件目录中