Windows Server 2012 R2 Standard
hadoop 2.8.3
eclipse-jee-mars-2-win32-x86_64
- 从https://github.com/winghc/hadoop2x-eclipse-plugin下载源码到本地;
- 下载ant。
- 修改两个文件:
3.1. \hadoop2x-eclipse-plugin-master\ivy\libraries.properties
将里面的jar包版本改为hadoop对应的版本
3.2. \hadoop2x-eclipse-plugin-master\src\contrib\eclipse-plugin\build.xml,修改jar包名称,我把命令行中的参数直接写在这个文件中了。 - 命令行
cd
到目录hadoop2x-eclipse-plugin-master\src\contrib\eclipse-plugin
,执行ant jar
命令:
- 将
\hadoop2x-eclipse-plugin-master\build\contrib\eclipse-plugin\
目录下的hadoop-eclipse-plugin-2.8.3.jar
拷贝到\eclipse\plugin
目录下; - 启动eclipse;会看到下面的图标:
- 然后点击windows->show view->MapReduce Tools->Map/Reduce Locations。
- 点击这个视图右上角的小象进行配置:
- 启动hadoop,在命令行输入:hadoop fs -mkdir /Administrator
(Adiministrator是我的用户名) - ok
插件下载地址:
eclipse mars: http://download.csdn.net/download/familyshizhouna/10172408
eclipse oxygen:
http://download.csdn.net/download/familyshizhouna/10172755
刚开始编译不成功,根据错误提示,修改了libraries.properties和build.xml,编译成功。但放到eclipse(这时eclipse版本是oxygen)中可以显示,但遇到下面的错误(查看eclipse错误日志),
!MESSAGE An internal error occurred during: "Map/Reduce location status updater".
!STACK 0
java.lang.NoClassDefFoundError: org/apache/htrace/core/Tracer$Builder
at org.apache.hadoop.fs.FsTracer.get(FsTracer.java:42)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2806)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:100)
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2849)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2831)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:389)
at org.apache.hadoop.fs.FileSystem.getLocal(FileSystem.java:360)
at org.apache.hadoop.mapred.LocalJobRunner.<init>(LocalJobRunner.java:739)
at org.apache.hadoop.mapred.LocalJobRunner.<init>(LocalJobRunner.java:734)
at org.apache.hadoop.mapred.LocalClientProtocolProvider.create(LocalClientProtocolProvider.java:42)
at org.apache.hadoop.mapreduce.Cluster.initialize(Cluster.java:121)
at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:108)
at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:101)
at org.apache.hadoop.mapred.JobClient.init(JobClient.java:475)
at org.apache.hadoop.mapred.JobClient.<init>(JobClient.java:454)
at org.apache.hadoop.eclipse.server.HadoopServer.getJobClient(HadoopServer.java:488)
at org.apache.hadoop.eclipse.server.HadoopServer$LocationStatusUpdater.run(HadoopServer.java:103)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
Caused by: java.lang.ClassNotFoundException: org