eclipse配置hadoop插件

首先下载eclipse的插件,下载链接有

https://github.com/HuangDongdong666/Hadoop-eclipse-plugin-2.8.3

https://github.com/winghc/hadoop2x-eclipse-plugin/tree/master/release

下载完之后,根据eclipse版本的不同,旧版本放在plugins这个文件夹下,新版本的,我的就是重装之后的eclipse就是放在dropins这个文件夹下。然后重开eclipse。

开启eclipse之后,点击help->install->add,输入hadoop-plungin,确定,之后可以在manager看到如下图所示的。(ok后勾选确定,可能会会有警告,忽略,重启eclipse即可)

打开Window->Preferences->HadoopMap/Reduce,,然后在dircetory输入你从虚拟机拉过来的已经解压的Hadoop文件夹!

接着,window->show view->others,弹出的窗口中选择Map/Reduce Locations,即可看到Map/Reduce的控制界面。在该页面右键new一个Hadoop Location,这是我的配置。

下载文件 inutils.exe 和 winutils.exe

https://github.com/steveloughran/winutils(下载和自己hadoop版本一样的,或者接近的(<=自己的版本))

下载了winutils.exe文件和hadoop.dll之后放入hadoop-2.7.5in文件夹中

另外还要把hadoop.dll放在C:WindowsSystem32文件夹下

接着,先测试下你的虚拟机和你的windows能不能连接上,如果用户对hadoop目录并没有写入权限,会导致异常的发生,命令如下 :hdfs dfs -chmod -R 777 /,在左边Project Explorer能看的你的hdfs结构,然后就开始编代码吧。

(操作如下)

在主函数编写job时,要注意自己的端口号是多少。

问题总结:

(1)Could not locate Hadoop executable: D:Program Fileshadoop-3.0.0inwinutils.exe

下载文件inutils.exe 和 winutils.exe

https://github.com/steveloughran/winutils

下载了winutils.exe文件和hadoop.dll之后放入hadoop-2.7.5in文件夹中。

(2)如果用户对hadoop目录并没有写入权限,会导致异常的发生,命令如下 :hdfs dfs -chmod -R 777 /

(3)异常Exception in thread “main” java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z

https://blog.csdn.net/congcong68/article/details/42043093

(4)hadoop关于org.apache.hadoop.security.AccessControlException: Permission denied: user=Administrator, ac

https://blog.csdn.net/lunhuishizhe/article/details/50489849

(5)Hadoop Hdfs常用命令

(6)https://blog.csdn.net/sunshingheavy/article/details/53227581

hadoop测试样例

http://younglibin.iteye.com/blog/1925008

最后贴上本人的测试代码

package com.cby.test;

import java.io.File;
import java.io.IOException;
import java.util.StringTokenizer;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.util.GenericOptionsParser;

public class WordCount {

	public static class TokenizerMapper extends Mapper<Object, Text, Text, IntWritable> {

		private final static IntWritable one = new IntWritable(1);
		private Text word = new Text();

		public void map(Object key, Text value, Context context) throws IOException, InterruptedException {
			StringTokenizer itr = new StringTokenizer(value.toString());
			while (itr.hasMoreTokens()) {
				word.set(itr.nextToken());
				context.write(word, one);
			}
		}
	}

	public static class IntSumReducer extends Reducer<Text, IntWritable, Text, IntWritable> {
		private IntWritable result = new IntWritable();

		public void reduce(Text key, Iterable<IntWritable> values, Context context)
				throws IOException, InterruptedException {
			int sum = 0;
			for (IntWritable val : values) {
				sum += val.get();
			}
			result.set(sum);
			context.write(key, result);
		}
	}

//	static {
//		try {
//			System.load("D:/Program Files/hadoop-3.0.0/bin/hadoop.dll");
//		} catch (UnsatisfiedLinkError e) {
//			System.err.println("Native code library failed to load.
" + e);
//			System.exit(1);
//		}
//	}

	public static void main(String[] args) throws Exception {
		Configuration conf = new Configuration();
		// conf.set("mapred.job.tracker", "192.168.247.130:9001");
		System.setProperty("hadoop.home.dir", "D:/Program Files/hadoop-3.0.0");
		args = new String[] { "/user/root/input", "/user/root/output1" };
		String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();
		System.out.println(otherArgs.length);
		if (otherArgs.length != 2) {
			System.err.println("Usage: wordcount <in> <out>");
			System.out.println("测试结束");
			System.exit(2);
		}
		// conf.set("fs.defaultFS", "hdfs://192.168.6.77:9000");
		Job job = Job.getInstance(conf, "word count");
		job.setJarByClass(WordCount.class);
		job.setMapperClass(TokenizerMapper.class);
		job.setCombinerClass(IntSumReducer.class);
		job.setReducerClass(IntSumReducer.class);
		job.setOutputKeyClass(Text.class);
		job.setOutputValueClass(IntWritable.class);
		// 8020端口是fs.defaultFS的配置端口,一般默认为9000
		FileInputFormat.addInputPath(job, new Path("hdfs://192.168.247.130:8020" + otherArgs[0]));
		FileOutputFormat.setOutputPath(job, new Path("hdfs://192.168.247.130:8020" + otherArgs[1]));
		System.exit(job.waitForCompletion(true) ? 0 : 1);

	}
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个问题中涉及了EclipseHadoop的开发环境配置。要解决这个问题,需要按照一定的步骤配置EclipseHadoop的连接。具体可以参考官方文档或者各种教程。一般需要安装Eclipse件或者Hadoop相关的工具包,然后在Eclipse配置Hadoop的一些参数和路径,最终可以实现在Eclipse中编写和调试Hadoop程序的功能。 ### 回答2: 在Eclipse配置Hadoop开发环境需要安装相关件和配置一些参数。以下是具体的步骤: 第一步:下载Eclipse件 首先需要下载Eclipse件,建议下载CDH5 Eclipse件,因为该件支持CDH 5.x云环境,CDH5是针对Hadoop的一个完整、开放的平台。下载完成件后,将件复制到Eclipse安装目录下的dropins文件夹中。 第二步:配置Hadoop运行环境 在Eclipse配置Hadoop开发环境需要配置Hadoop运行环境,可以通过以下步骤实现: 1.首先在Eclipse中新建一个Java项目,然后右键单击项目名称,选择“Build Path”>“Configure Build Path”。 2.在弹出的对话框中,选择“Libraries”标签页,并单击“Add Library”按钮。 3.在下一个对话框中,选择“User Library”,然后单击“Next”按钮。 4.在“User Libraries”的对话框中,单击“New”按钮,创建一个新的库,取名为“Hadoop”。 5.选择新建的“Hadoop”库,在右侧的“Add External JARs”中添加Hadoop所有的JAR文件。 6.单击“OK”按钮保存设置。 第三步:设置环境变量 将Hadoop的bin目录添加到系统的PATH环境变量中,这样可以在Eclipse中直接调用Hadoop命令。具体操作步骤如下: 1.在Windows系统中,右键单击“计算机”图标,选择“属性”,在打开的窗口中单击“高级系统设置”。 2.在弹出的对话框中,单击“环境变量”按钮。 3.在下面的对话框中,找到“系统变量”中的“PATH”变量,双击进行编辑。 4.在编辑窗口的末尾添加Hadoop的bin目录,例如:D:\hadoop-2.6.0\bin 5.单击“确认”保存设置。 第四步:创建Hadoop项目 在Eclipse中创建Hadoop项目需要先创建一个Java项目,然后将其转换成Hadoop项目,具体步骤如下: 1.在Eclipse中新建一个Java项目。 2.右键单击项目名称,选择“Configure”>“Convert to Hadoop Project”。 3.在弹出的对话框中,选择Hadoop版本,配置Hadoop相关参数,单击“Finish”创建项目。 至此,Eclipse配置Hadoop开发环境完成。可以在Eclipse中开发Hadoop应用程序并进行调试和测试。 ### 回答3: Hadoop是一个开源分布式计算框架,可以让我们方便地处理大规模数据。在使用Hadoop进行开发时,我们可以使用Eclipse配置开发环境,轻松地完成MapReduce程序的编写,运行和调试。 下面是在Eclipse配置Hadoop开发环境的步骤: 1. 下载并安装Eclipse:根据操作系统选择合适的版本进行下载并安装。 2. 下载并安装Hadoop:同Eclipse,选择适合的版本进行下载并安装。将Hadoop解压缩到合适的目录下,记住路径,后面会用到。 3. 在Eclipse中安装Hadoop件:打开Eclipse,点击菜单栏的“Help”-“Eclipse Marketplace”搜索栏中输入“hadoop”,然后在结果中找到“Hadoop Eclipse Plugin”进行安装。 4. 配置Hadoop件:在Eclipse中打开“Preference”对话框,选择“Hadoop”选项卡,配置Hadoop的路径和JDK的路径等信息,注意这里要配置Hadoop的路径,否则会出现无法找到Hadoop的情况。配置完成后点击“Apply”保存。 5. 新建Hadoop MapReduce项目:在Eclipse的Project Explorer中右键单击“New”-“Project”选择“MapReduce Project”,填写项目的基本信息后点击“Finish”开始创建项目。 6. 编写MapReduce程序:在新创建的项目中创建一个类,并实现MapReduce Job的两个方法,即“map”方法和“reduce”方法。 7. 运行和调试MapReduce程序:在Eclipse的菜单栏中选择“Run”-“Run Configurations”进行配置,设置好输入和输出路径,然后点击“Run”就可以运行程序。如果需要调试程序,可以在代码中设置断点,然后在Eclipse的菜单中选择“Debug”进行调试。 以上就是在Eclipse配置Hadoop开发环境的步骤,通过上面的操作,我们可以轻松地完成MapReduce程序的开发和调试,提高开发效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值