最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

windows 32位eclipse遠程hadoop開發(fā)環(huán)境搭建

 更新時間:2016年07月14日 09:47:59   作者:lele5000  
這篇文章主要介紹了windows 32位eclipse遠程hadoop開發(fā)環(huán)境搭建的相關資料,需要的朋友可以參考下

本文假設hadoop環(huán)境在遠程機器(如linux服務器上),hadoop版本為2.5.2

注:本文eclipse/intellij idea 遠程調試hadoop 2.6.0主要參考了并在其基礎上有所調整

由于我喜歡在win7 64位上安裝32位的軟件,比如32位jdk,32位eclipse,所以雖然本文中的操作系統(tǒng)是win7 64位,但是所有的軟件都是32位的。

軟件版本:

操作系統(tǒng):win7 64位

eclipse: eclipse-jee-mars-2-win32

java: 1.8.0_77 32位

hadoop:2.5.2

一、安裝hadoop

1、在win7中隨便找一個目錄解壓hadoop-2.5.2.tar.gz,比如D:\app\hadoop-2.5.2\

2、配置環(huán)境變量

HADOOP_HOME = D:\app\hadoop-2.5.2\

二、安裝hadoop eclipse插件

1、下載hadoop-eclipse-plugin

hadoop-eclipse-plugin是一個專門用于eclipse的hadoop插件,可以直接在IDE環(huán)境中查看hdfs的目錄和文件內容。其源代碼托管于github上,官網地址是https://github.com/winghc/hadoop2x-eclipse-plugin  下載release文件夾中的hadoop-eclipse-plugin-2.6.0.jar即可

2、下載windows 32位平臺的hadoop插件包(hadoop.dll,winutils.exe)

由于我們的軟件環(huán)境是32位的,所以需要下載32位的hadoop.dll和winutils.exe,下載地址大家可以百度 hadoop.dll 32

比如下載這個:http://xiazai.jb51.net/201607/yuanma/eclipse-hadoop(jb51.net).rar

將winutils.exe復制到$HADOOP_HOME\bin目錄,將hadoop.dll復制到C:\Windows\SysWOW64目錄下(注:由于我們的操作系統(tǒng)是64位,而軟件是32位,所以我們是拷到這個目錄下,另外,如果你的操作系統(tǒng)就是32位,那么就直接拷到c:\windwos\system32目錄下)

3、配置hadoop-eclipse-plugin插件

啟動eclipse,window->preferences->hadoop map/reduce 指定win7上的hadoop根目錄(即:$HADOOP_HOME)

切換Map/reduce視圖

windows->show view->other     Map/Reduce Locations

然后在下面的Map/Reduce Locations 面板中添加新的Location

按照如下配置

Location name 這里就是起個名字,隨便起

Map/Reduce(V2) Master Host 這里就是虛擬機里hadoop master對應的IP地址,下面的端口對應 hdfs-site.xml里dfs.datanode.ipc.address屬性所指定的端口

DFS Master Port這里的端口,對應core-site.xml里fs.defaultFS所指定的端口

最后的user name要跟虛擬機里運行hadoop的用戶名一致,我是用hadoop身份安裝運行hadoop 2.6.0的,所以這里填寫hadoop,如果你是用root安裝的,相應的改成root

這些參數(shù)指定好以后,點擊Finish,eclipse就知道如何去連接hadoop了,一切順利的話,在Project Explorer面板中,就能看到hdfs里的目錄和文件了

可以在文件上右擊,選擇刪除試下,通常第一次是不成功的,會提示一堆東西,大意是權限不足之類,原因是當前的win7登錄用戶不是虛擬機里hadoop的運行用戶,解決辦法有很多,比如你可以在win7上新建一個hadoop的管理員用戶,然后切換成hadoop登錄win7,再使用eclipse開發(fā),但是這樣太煩,最簡單的辦法:

hdfs-site.xml里添加

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

總而言之,就是徹底把hadoop的安全檢測關掉(學習階段不需要這些,正式生產上時,不要這么干),最后重啟hadoop,再到eclipse里,重復剛才的刪除文件操作試下,應該可以了。

注:如果無法連接,請先嘗試telnet 192.168.1.6 9000 (請將ip和端口換成自己的hadoop server ip和端口)確保端口可以訪問。

如果telnet不成功,可能是core-site.xml里fs.defaultFS的值有問題,比如配置的是localhost:9000,可以考慮把localhost換成主機名

三、編寫wordcount示例

1、新建一個項目,選擇Map/Reduce Project

后面的Next就行了,然后新建一個類WodCount.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> [<in>...] <out>");
  System.exit(2);
 }
 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);
 for (int i = 0; i < otherArgs.length - 1; ++i) {
  FileInputFormat.addInputPath(job, new Path(otherArgs[i]));
 }
 FileOutputFormat.setOutputPath(job,
  new Path(otherArgs[otherArgs.length - 1]));
 System.exit(job.waitForCompletion(true) ? 0 : 1);
 }
}


然后再src目錄下創(chuàng)建一個log4j.properties,內容如下:(為了方便運行起來后,查看各種輸出)

log4j.rootLogger=INFO, stdout

#log4j.logger.org.springframework=INFO
#log4j.logger.org.apache.activemq=INFO
#log4j.logger.org.apache.activemq.spring=WARN
#log4j.logger.org.apache.activemq.store.journal=INFO
#log4j.logger.org.activeio.journal=INFO

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} | %-5.5p | %-16.16t | %-32.32c{1} | %-32.32C %4L | %m%n

最終目錄結構如下:

2、配置運行參數(shù)

因為WordCount是輸入一個文件用于統(tǒng)計單詞字,然后輸出到另一個文件夾下,所以給二個參數(shù),參考上圖,在Program arguments里,輸入

hdfs://192.168.1.6:9000/user/nub1.txt
hdfs://192.168.1.6:9000/user/output

注意的是,如果user/nub1.txt文件沒有,請先手動上傳(使用eclipse中DFS Location工具的右鍵),然后/output/ 必須是不存在的,否則程序運行到最后,發(fā)現(xiàn)目標目錄存在,也會報錯。

好了,運行即可

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • SpringBoot動態(tài)定時任務實現(xiàn)完整版

    SpringBoot動態(tài)定時任務實現(xiàn)完整版

    最近有幸要開發(fā)個動態(tài)定時任務,這里簡單再梳理一下,下面這篇文章主要給大家介紹了關于SpringBoot動態(tài)定時任務實現(xiàn)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • Java解決LocalDateTime傳輸前端為時間的數(shù)組

    Java解決LocalDateTime傳輸前端為時間的數(shù)組

    本文主要介紹了Java解決LocalDateTime傳輸前端為時間的數(shù)組,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-03-03
  • Java日志框架用法及常見問題解決方案

    Java日志框架用法及常見問題解決方案

    這篇文章主要介紹了Java日志框架用法及常見問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • SpringBoot外部化配置示例解析

    SpringBoot外部化配置示例解析

    這篇文章主要介紹了SpringBoot外部化配置示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • java中\(zhòng)t,\n,\r,\b,\f 的作用及說明

    java中\(zhòng)t,\n,\r,\b,\f 的作用及說明

    這篇文章主要介紹了java中\(zhòng)t,\n,\r,\b,\f 的作用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • SpringCloud將Nacos作為配置中心實現(xiàn)流程詳解

    SpringCloud將Nacos作為配置中心實現(xiàn)流程詳解

    這篇文章主要介紹了Springcloud中的Nacos Config服務配置,本文以用戶微服務為例,進行統(tǒng)一的配置,結合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-10-10
  • mybatis批量插入返回主鍵失敗的坑及解決

    mybatis批量插入返回主鍵失敗的坑及解決

    這篇文章主要介紹了mybatis批量插入返回主鍵失敗的坑及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Java使用openssl檢測網站是否支持ocsp

    Java使用openssl檢測網站是否支持ocsp

    OCSP在線證書狀態(tài)協(xié)議是為了替換CRL而提出來的。對于現(xiàn)代web服務器來說一般都是支持OCSP的,OCSP也是現(xiàn)代web服務器的標配,這篇文章主要介紹了Java使用openssl檢測網站是否支持ocsp,需要的朋友可以參考下
    2022-07-07
  • springcloud如何用Redlock實現(xiàn)分布式鎖

    springcloud如何用Redlock實現(xiàn)分布式鎖

    本文主要介紹了springcloud如何用Redlock實現(xiàn)分布式鎖,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 詳解java==運算符和equals()方法的區(qū)別

    詳解java==運算符和equals()方法的區(qū)別

    這篇文章主要介紹了java==運算符和equals()方法的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03

最新評論

剑阁县| 洞口县| 东明县| 聂荣县| 永平县| 额敏县| 衡水市| 周至县| 鲁山县| 乌拉特后旗| 广州市| 二连浩特市| 内江市| 托克托县| 奉节县| 海门市| 玉溪市| 济南市| 额济纳旗| 唐海县| 焦作市| 黑水县| 东辽县| 玉林市| 甘谷县| 准格尔旗| 辉县市| 大竹县| 曲阳县| 黑龙江省| 大悟县| 兴宁市| 察雅县| 武强县| 饶河县| 苏州市| 靖安县| 林周县| 宜宾县| 金沙县| 永平县|