hadoop环境配置 windows+eclipse
2016-10-10 19:22
351 查看
一、安装hadoop
参考给力星,我安装的版本是2.7.0
在linux下开发会有一些不方便,非mac档只能尝试在win上远程连接了,幸好有大神写了eclipse的hadoop插件,并且支持远程连接,于是来折腾这一环境。
二、插件安装参考http://yntmdr.blog.51cto.com/3829621/1633528
除hadoop安装包外,还需要三个文件,见网盘链接: https://pan.baidu.com/s/1dFE6UjR密码: xbfc
1.注意linux机器(可为虚拟机)中hadoop环境的配置文件core-site.xml中的localhost需要改成机器ip,为什么呢?因为本机能够通过localhost找到自己,其他机器就找不到了呢,需要通过ip查找。
2.下载插件hadoop-eclipse-plugin,将其拷到eclipse安装目录的dropins下,打开eclipse发现左边多出来一个DFS
Locations。
3.解压hadoop2.7.0到windows一份,在eclipse中window->preferences->hadoop设置刚刚解压的路径,参考
![](https://img-blog.csdn.net/20161010192609968?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
4.将winutils.exe(见网盘)拷贝到hadoop-2.7.0\bin目录下,将hadoop.dll(见网盘)拷到C:\Windows\System32下面,这两个文件的版本一定要对,网盘上的是2.7的,开始我是用的2.2版本的,一直出错不知道原因-
-
5.显示Map/Reduce选项卡
选择Window->Open Perspective->Other->Map/Reduce,会看到右上角有一个大象图标。
6.配置hdfs连接
点击右上角大象,切换到Map/Reduce 开发视图,点击 Eclipse软件右下角的 Map/Reduce Locations 面板,在面板中单击右键,选择 New Hadoop Location进行配置,这里面的Host为liunx机器的ip,Port分别为你在mapred-site.xml、core-site.xml的端口,我的分别为50020和9000.
7.安装好插件后,查看左侧MapReduce Location 能否直接查看hdfs文件,注意要在启动了hadoop、yarn之后再看喔,能够的话就说明插件安装没有什么问题了。
8.配置环境变量
在环境变量中添加HADOOP_HOME为解压的目录,并将hadoop-2.7.0\bin目录添加至环境变量,参考图
![](https://img-blog.csdn.net/20161010192624469?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
9.将linux上将三个配置文件拷到eclipse该工程运行目录下面,然后尝试运行wordcount,
设置输入输出参数,可以在run as配置中设置输入输出参数,更好的方法是在程序中设置otherArgs,注意路径要写全,wordcount代码(更改了otherArgs):
若运行如果提示没有权限操作文件等,可设置权限hadoop fs -chmod -R 777 /user
更多出错参考http://www.cnblogs.com/baixl/p/4154429.html
10.以上为本人的安装经验,可供参考,根据实际环境、hadoop安装版本等可能会发生一些小出入。
参考给力星,我安装的版本是2.7.0
在linux下开发会有一些不方便,非mac档只能尝试在win上远程连接了,幸好有大神写了eclipse的hadoop插件,并且支持远程连接,于是来折腾这一环境。
二、插件安装参考http://yntmdr.blog.51cto.com/3829621/1633528
除hadoop安装包外,还需要三个文件,见网盘链接: https://pan.baidu.com/s/1dFE6UjR密码: xbfc
1.注意linux机器(可为虚拟机)中hadoop环境的配置文件core-site.xml中的localhost需要改成机器ip,为什么呢?因为本机能够通过localhost找到自己,其他机器就找不到了呢,需要通过ip查找。
2.下载插件hadoop-eclipse-plugin,将其拷到eclipse安装目录的dropins下,打开eclipse发现左边多出来一个DFS
Locations。
3.解压hadoop2.7.0到windows一份,在eclipse中window->preferences->hadoop设置刚刚解压的路径,参考
4.将winutils.exe(见网盘)拷贝到hadoop-2.7.0\bin目录下,将hadoop.dll(见网盘)拷到C:\Windows\System32下面,这两个文件的版本一定要对,网盘上的是2.7的,开始我是用的2.2版本的,一直出错不知道原因-
-
5.显示Map/Reduce选项卡
选择Window->Open Perspective->Other->Map/Reduce,会看到右上角有一个大象图标。
6.配置hdfs连接
点击右上角大象,切换到Map/Reduce 开发视图,点击 Eclipse软件右下角的 Map/Reduce Locations 面板,在面板中单击右键,选择 New Hadoop Location进行配置,这里面的Host为liunx机器的ip,Port分别为你在mapred-site.xml、core-site.xml的端口,我的分别为50020和9000.
7.安装好插件后,查看左侧MapReduce Location 能否直接查看hdfs文件,注意要在启动了hadoop、yarn之后再看喔,能够的话就说明插件安装没有什么问题了。
8.配置环境变量
在环境变量中添加HADOOP_HOME为解压的目录,并将hadoop-2.7.0\bin目录添加至环境变量,参考图
9.将linux上将三个配置文件拷到eclipse该工程运行目录下面,然后尝试运行wordcount,
设置输入输出参数,可以在run as配置中设置输入输出参数,更好的方法是在程序中设置otherArgs,注意路径要写全,wordcount代码(更改了otherArgs):
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); } } public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); String[] otherArgs= new String[]{"hdfs://你的ip/user/hadoop/输入路径", "hdfs://你的ip/user/hadoop/输出路径"}; if (otherArgs.length != 2) { System.err.println("Usage: wordcount <in> <out>"); System.exit(2); } Job job = new Job(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); FileInputFormat.addInputPath(job, new Path(otherArgs[0])); FileOutputFormat.setOutputPath(job, new Path(otherArgs[1])); System.exit(job.waitForCompletion(true) ? 0 : 1); } }
若运行如果提示没有权限操作文件等,可设置权限hadoop fs -chmod -R 777 /user
更多出错参考http://www.cnblogs.com/baixl/p/4154429.html
10.以上为本人的安装经验,可供参考,根据实际环境、hadoop安装版本等可能会发生一些小出入。
相关文章推荐
- Windows 下配置 Eclipse 连接 Hadoop 开发环境
- Windows下基于Eclipse的Hadoop开发环境完全配置[转]
- Windows 8.0上Eclipse 4.4.0 配置CentOS 6.5 上的Hadoop2.2.0开发环境
- Windows 下配置 Eclipse 连接 Hadoop 开发环境
- Windows下基于Eclipse的Hadoop开发环境完全配置(一)
- Windows 下配置 Eclipse 连接 Hadoop 开发环境
- 在Windows上使用Eclipse配置Hadoop MapReduce开发环境
- windows下基于Eclipse的Hadoop应用开发环境配置
- hadoop在Windows环境下配置eclipse
- windows 8.0上eclipse 4.4.0 配置centos 6.5 上的hadoop2.2.0开发环境
- Windows下基于Eclipse的Hadoop开发环境完全配置(二)
- Windows下基于Eclipse的Hadoop开发环境完全配置(一)
- Windows 下配置 Eclipse 连接 Hadoop 开发环境
- Windows下基于Eclipse的Hadoop开发环境完全配置(二)
- Windows 下配置 Eclipse 连接 Hadoop 开发环境
- Windows 7(64位) 配置Eclipse+Hadoop2.5.1开发环境
- Windows 下配置 Eclipse 连接 Hadoop 开发环境
- Hadoop学习5--配置本地开发环境(Windows+Eclipse)
- Windows下基于Eclipse的Hadoop开发环境完全配置
- Windows 下配置 Eclipse 连接 Hadoop 开发环境