1. 程式人生 > >Hadoop+eclipse開發環境

Hadoop+eclipse開發環境

eclipse

通過手提電腦的eclipse開發mapreduce到遠端的Hadoop叢集上執行

  • 首先配置java環境
  • 然後安裝hadoop eclipse外掛
  • 配置外掛
    1. 從遠端叢集的Name Node上傳輸CDH/Hadoop到本地任一資料夾
    2. 告訴外掛你的Hadoop裝在這個資料夾裡
    3. 然後配置遠端連結的ip和port,至此你的本機配置操作完成
    4. 最重要的事情:在你的叢集hdfs上配置使用者許可權,由於上傳檔案和jobs是用你當前使用者名稱(如:elun)來傳的,hdfs上根本沒有你這個使用者,因此要在master主機上建立使用者(Data Node可以不用)並在hdfs上建立一個歸他所屬的資料夾。此後就可以在本地通過elun使用者把檔案傳到叢集上,叢集會自動認為是叢集那個系統的elun使用者上傳的檔案。

第一步

從雲端複製你的hadoop整個安裝資料夾到你工作的電腦本地

雖然這樣很傻,但是請你照做吧

eclipse plugins: hadoop-eclipse

download pages in github

compile by yourself, or use the jar in release

cd src/contrib/eclipse-plugin 
ant jar -Dversion=2.4.1 -Dhadoop.version=2.4.1 -Declipse.home=/opt/eclipse -Dhadoop.home=/usr/share/hadoop
#version
: plugin version #hadoop.version: hadoop version you want to compiled with #eclipse.home: path of eclipse home #hadoop.home: path of hadoop 2.x home

copy

cp hadoop-eclipse-plugin-2.6.0.jar eclipse/plugins

configure

  1. Window->Perspective->open Perspective->other->Map/Reduce
  2. Window->Preferences->Hadoop Map/Reduce
    這裡寫圖片描述
  3. on your down right corner -> Map/Reduce Locations->click that blue elephant(‘why not yellow??’)

    • Location name: whatever you like
    • Map/Reduce Master:
    • Host: master
    • Port: 8021 (與Hadoop配置檔案mapred-site.xml中mapred.job.tracker的埠一致)(9000 for apache)
    • DFS Master
    • port 8020(與Hadoop配置檔案core-site.xml中fs.default.name/fs.defaultFS的埠號一致)(9001 for apache)
    • user name: hdfs (or hadoop for apache)

在CM網頁介面直接搜尋fs.default.name, mapreduce.jobtracker.http.address也可以

這裡寫圖片描述

CDH mapreduce Jars

直接新增所有的/opt/cloudera/parcels/CDH/jars目錄下的jar到Build path即可。
最好像我一樣建立一個使用者Library。
這裡寫圖片描述

以後的MapReduce工程就可以直接Add Library > Add User Library > CDH 即可匯入所有依賴包。
這裡寫圖片描述