本地Eclipse開發(fā)連接遠(yuǎn)程阿里云Hadoop

本文主要介紹本地Eclipse開發(fā)連接遠(yuǎn)程阿里云Hadoop的環(huán)境搭建
首先需要在遠(yuǎn)程服務(wù)器部署好Hadoop運行環(huán)境
可以參考Hadoop偽分布式環(huán)境搭建
遠(yuǎn)程Hadoop環(huán)境創(chuàng)建好以后,接下來開始本地Eclipse環(huán)境的搭建

一,Eclipse下載和Hadoop插件下載

1,Eclipse官網(wǎng)下載Eclipse

2,接下來解決對應(yīng)版本的Hadoop插件
示例中Hadoop的環(huán)境是2.7.3,這里也需要網(wǎng)上下載hadoop-eclipse-plugin-2.7.3.jar

3,將下載好的插件hadoop-eclipse-plugin-2.7.3.jar放在eclipse/dropins中,然后重啟Eclipse

二,插件配置

1,Eclipse重啟后將會出現(xiàn)紅圈所示的部分,這說明插件加


9B9E2508-5B89-4C3F-AEAF-7ACE3E42AC45.png

2,
選擇File->New->Project->Map/Reduce Project
創(chuàng)建一個WordCount工程

3,打開Eclipse的Preferences界面
選擇Hadoop Map/Reduce選項
把Hadoop的安裝目錄選擇進(jìn)去.
這里可能會有一個疑問, Hadoop是在遠(yuǎn)程阿里云上安裝的,這個目錄怎么選擇?
其實是把遠(yuǎn)程hadoop的運行程序在本地copy一份,然后解壓,選擇的是本地的

5FD251A4-D3B3-46F5-8A9B-BE6D3A42A504.png

4,設(shè)置Hadoop Tool
點擊Window-->Show View -->MapReduce Tools 點擊 Map/ReduceLocation
彈出如下界面,然后進(jìn)


A4DC31C6-B60F-4A0F-95FB-71FB03A0B238.png

設(shè)置成功后,會出現(xiàn)如下界面

CB2244E9-A6F6-430B-A3EA-4AEFB1FB3F0D.png

5,設(shè)置阿里云
1,修改 hadoop/etc/hadoop/hdfs-site.xml

<configuration>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>

        <property>
                <name>dfs.permissions</name>
                <value>false</value>
        </property>
</configuration>

2,修改hadoop/etc/hadoop/core-site.xml

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://120.27.4.193:9000</value>
        </property>
</configuration>

三,創(chuàng)建Demo測試

1,新建WordCount工程,添加WordCount.java類

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 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(otherArgs[0]));
    FileOutputFormat.setOutputPath(job, new Path(otherArgs[1]));
    System.exit(job.waitForCompletion(true) ? 0 : 1);
  }
}

2,在工程下面添加一個輸入文件,就是程序的輸入數(shù)據(jù)Input

EFB33C8A-080B-424D-9F4A-985692609A2F.png

3,選中WordCount.java右鍵->Run As -> Run as configure
執(zhí)行輸入文件名字就是剛才的Input文件,和輸出目錄名字Out(自動生成),然后點擊右下角的run運行

8ECF399A-BA49-4FDE-A44D-0129406FD7CE.png

4,運行完畢后,選中WordCount工程,然后Refresh
運行結(jié)果目錄就出來了,里面有結(jié)果文件

9D156AD1-4454-4B6F-8FCF-68137310FA90.png

至此,本地Eclipse開發(fā)連接遠(yuǎn)程阿里云Hadoop結(jié)束

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末搀军,一起剝皮案震驚了整個濱河市矾缓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌突倍,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件萨醒,死亡現(xiàn)場離奇詭異拼坎,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)媚污,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來廷雅,“玉大人耗美,你說我怎么就攤上這事『阶海” “怎么了商架?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長芥玉。 經(jīng)常有香客問我蛇摸,道長,這世上最難降的妖魔是什么灿巧? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任赶袄,我火速辦了婚禮,結(jié)果婚禮上抠藕,老公的妹妹穿的比我還像新娘饿肺。我一直安慰自己,他們只是感情好盾似,可當(dāng)我...
    茶點故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布敬辣。 她就那樣靜靜地躺著,像睡著了一般颜说。 火紅的嫁衣襯著肌膚如雪购岗。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天门粪,我揣著相機(jī)與錄音喊积,去河邊找鬼。 笑死玄妈,一個胖子當(dāng)著我的面吹牛乾吻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播拟蜻,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼绎签,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了酝锅?” 一聲冷哼從身側(cè)響起诡必,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后爸舒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蟋字,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年扭勉,在試婚紗的時候發(fā)現(xiàn)自己被綠了鹊奖。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡涂炎,死狀恐怖忠聚,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情唱捣,我是刑警寧澤两蟀,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站爷光,受9級特大地震影響垫竞,放射性物質(zhì)發(fā)生泄漏澎粟。R本人自食惡果不足惜蛀序,卻給世界環(huán)境...
    茶點故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望活烙。 院中可真熱鬧徐裸,春花似錦、人聲如沸啸盏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽回懦。三九已至气笙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間怯晕,已是汗流浹背潜圃。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留舟茶,地道東北人谭期。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像吧凉,于是被迫代替她去往敵國和親隧出。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,440評論 2 359

推薦閱讀更多精彩內(nèi)容