澳门威利斯人_威利斯人娱乐「手机版」

来自 澳门威利斯人 2019-11-05 05:03 的文章
当前位置: 澳门威利斯人 > 澳门威利斯人 > 正文

澳门威利斯人0开发环境

一、安装Eclipse

简单易行记录在CentOS下安装Eclipse测试Hadoop的过程。

图像和文字详细明白Windows 8.0上Eclipse 4.4.0 配置CentOS 6.5 上的Hadoop2.2.0开支条件,给急需的朋友参谋学习。

下载Eclipse,解压安装,比方设置到/usr/local,即/usr/local/eclipse

(一),安装eclipse

Eclipse的Hadoop插件下载地址:

4.3.1本子下载地址:

   1,下载eclipse,点这里

将下载的回退包解压,将hadoop-eclipse-kepler-plugin-2.2.0那个jar包扔到eclipse下边包车型客车dropins目录下,重启eclipse就能够

二、在eclipse上安装Hadoop插件

   2,将文件上传到Centos7,能够用WinSCP

跻身windows->Preference配置根目录

1、下载hadoop插件

   3,解压并安装eclipse    

澳门威利斯人 1

下载地址:

    [root@Master opt]# tar zxvf '/home/s/eclipse-jee-neon-1a-linux-gtk-x86_64.tar.gz' -C/opt  ---------------> 构造建设文件:[root@Master opt]# mkdir /usr/bin/eclipse     ------------------》加多链接,即急速形式:[root@Master opt]# ln -s /opt/eclipse/eclipse /usr/bin/eclipse -----------》点击eclipse,就可以运维了

,这里面包车型大巴hadoop installation directory并不是你windows上装的hadoop目录,而单独是您在centos上编译好的源码,在windows上的解压路线而已,该路径仅仅是用于在创制MapReduce Project能从这一个地方活动引进MapReduce所须要的jar

  此zip文件富含了源码,大家使用使用编写翻译好的jar就可以,解压后,release文件夹中的hadoop.eclipse-kepler-plugin-2.2.0.jar正是编写翻译好的插件。


进入Window-->Open Perspective-->other-->Map/Reduce打开Map/Reduce窗口

2、把插件放到eclipse/plugins目录下

(二),建立Hadoop项目

澳门威利斯人 2

3、重启eclipse,配置Hadoop installation directory

    1,下载hadoop plugin 2.7.3   链接: 密码:ms91

找到

即便插件安装成功,张开Windows—Preferences后,在窗口侧面会有Hadoop Map/Reduce选项,点击此选项,在窗口左侧设置Hadoop安装路线。

    2,解压上述jar包插件,放到eclipse中plugins中,仁同一视启eclipse

澳门威利斯人 3

澳门威利斯人 4

    2, 在eclipse中加载dfs库,点击Windows 工具栏-------->选择show view如图:

,右击接收,New Hadoop location,当时相会世

4、配置Map/Reduce Locations

            澳门威利斯人 5

澳门威利斯人 6

打开Windows—Open Perspective—Other

    2,打开resource  点击Window ----->Perspective----------->open Perspective  选择resource:

Map/Reduce(V2)中的配置相应于mapred-site.xml中的端口配置,DFS Master中的配置相应于core-site.xml中的端口配置,配置完毕之后finish就可以,那时能够查阅

澳门威利斯人 7

澳门威利斯人 8

澳门威利斯人 9

选择Map/Reduce,点击OK

    3,配置连接端口,点击eclipse下放的MapResource Location,点击增添:当中port号遵照hdfs-site.xml 和core-site.xml来填写。

测验,新建贰个MapReduce项目,

在右下方见到如下图所示

澳门威利斯人 10

澳门威利斯人 11

澳门威利斯人 12

    4,上传输入文件:使用hdfs dfs -put /home/file1  /data 就可以在eclipse中观望如下:(要保障各样机器的防火墙都关闭,现身极度能够不经常不用关,前边跑下例子就全没了,呵呵卡塔尔国

,要消逝这一个标题,你不得不要成功如下多少个步骤,在windows上布署HADOOP_HOME,然后将%HADOOP_HOME%bin加入到path之中,然后去 in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z,那么就检查一下你的JDK,有超级大只怕是三十二人的JDK导致的,须要下载六拾一人JDK安装,而且在eclipse将jre遭逢配置为您新装置的陆拾伍人JRE遇到

点击Map/Reduce Location选项卡,点击侧面小象Logo,展开Hadoop Location配置窗口:

 澳门威利斯人 13

澳门威利斯人 14

输入Location Name,任性名称就可以.配置Map/Reduce Master和DFS Mastrer,Host和Port配置成与core-site.xml的装置同后生可畏就可以。


。如我的jre1.8是六十一人,jre7是30个人,即使那当中未有,你一贯add就能够,选中你的六16个人jre遇到之后,就能够现出了。

澳门威利斯人 15

  (三),测试WordCount程序

而后写个wordcount程序测量试验一下,贴出笔者的代码如下,前提是您曾在hdfs上建好了input文件,况且在此中放些内容

澳门威利斯人 16

   1,新建项目:点击new ------------》project ----------->Map Reduce,如图:

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 {
// System.setProperty("hadoop.home.dir", "E:\hadoop2.2\");
  Configuration conf = new Configuration();
  String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();
  // 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("hdfs://master:9000/input"));
  FileOutputFormat.setOutputPath(job, new Path("hdfs://master:9000/output"));
  boolean flag = job.waitForCompletion(true);
  System.out.print("SUCCEED!" flag);
  System.exit(flag ? 0 : 1);
  System.out.println();
 }
}

点击"Finish"按钮,关闭窗口。

澳门威利斯人 17

澳门威利斯人 18

点击左侧的DFSLocations—>myhadoop(上一步配置的location name),如能收看user,表示安装成功

   2,给项目配置本地的hadoop文件,圆圈处写当地hadoop的路线:

Ubuntu 13.04上搭建Hadoop环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

澳门威利斯人 19

    澳门威利斯人 20

Ubuntu 12.10 Hadoop 1.2.1本子集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

如果如下图所示表示安装退步,请检查Hadoop是否运转,以至eclipse配置是或不是正确。

   3,新建个mappert类,写如下代码:

Ubuntu上搭建Hadoop情形(单机方式 伪布满格局卡塔尔 http://www.linuxidc.com/Linux/2013-01/77681.htm

澳门威利斯人 21

package word;

Ubuntu下Hadoop情况的布署 http://www.linuxidc.com/Linux/2012-11/74539.htm

三、新建WordCount项目

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

单机版搭建Hadoop境况图像和文字化教育程详明 http://www.linuxidc.com/Linux/2012-02/53927.htm

File—>Project,选拔Map/Reduce Project,输入项目名称WordCount等。

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;

搭建Hadoop意况(在Winodws碰着下用编造机设想四个Ubuntu系统开展搭建卡塔尔 http://www.linuxidc.com/Linux/2011-12/48894.htm

在WordCount项目里新建class,名叫WordCount,代码如下:

public class mapper {

在Ubuntu下选拔Eclispe连接Hadoop时拒却链接解决方案总括 http://www.linuxidc.com/Linux/2014-11/109106.htm

import java.io.IOException;

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

越多Hadoop相关音讯见Hadoop 专项论题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

import java.util.StringTokenizer;

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

本文长久更新链接地址:http://www.linuxidc.com/Linux/2014-11/109200.htm

 

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);
}
}
}

澳门威利斯人 22

import org.apache.hadoop.conf.Configuration;

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

import org.apache.hadoop.fs.Path;

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);
}
}

import org.apache.hadoop.io.IntWritable;

public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();

import org.apache.hadoop.io.Text;

String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();
if (otherArgs.length != 2) {
System.err.println(otherArgs.length);
System.err.println("Usage: wordcount <in> <out>");
System.exit(2);
}
Job job = new Job(conf, "word count");
job.setJarByClass(mapper.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.out.print("ok");
System.exit(job.waitForCompletion(true) ? 0 : 1);
}
}

import org.apache.hadoop.mapreduce.Job;

2,点击run as ------------>RunConfigurations ---------->设置input和output文件参数

import org.apache.hadoop.mapreduce.Mapper;

  澳门威利斯人 23

import org.apache.hadoop.mapreduce.Reducer;

3,点击run,查看结果

本文由澳门威利斯人发布于澳门威利斯人,转载请注明出处:澳门威利斯人0开发环境

关键词: 澳门威利斯人