Changes between Version 30 and Version 31 of waue/2009/0617


Ignore:
Timestamp:
Jun 19, 2009, 2:41:13 PM (15 years ago)
Author:
waue
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • waue/2009/0617

    v30 v31  
    2727 * hadoop目錄: /opt/hadoop
    2828 = 一、安裝 =
    29  * 安裝的部份沒必要都一模一樣,僅提供參考,反正只要安裝好java , hadoop , eclipse,並清楚自己的路徑就可以了
     29
     30安裝的部份沒必要都一模一樣,僅提供參考,反正只要安裝好java , hadoop , eclipse,並清楚自己的路徑就可以了
     31
    3032 == 1.1. 安裝java ==
    31  * java 基本套件
     33 
     34首先安裝java 基本套件
     35 
    3236{{{
    3337$ sudo apt-get install java-common sun-java6-bin sun-java6-jdk sun-java6-jre
     
    3539
    3640 == 1.1.1. 安裝sun-java6-doc ==
    37  * 1 將javadoc (jdk-6u10-docs.zip) 下載下來
     41 
     42 1 將javadoc (jdk-6u10-docs.zip) 下載下來
    3843 [https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u10-docs-oth-JPR@CDS-CDS_Developer 下載點]
    3944[[Image(1-1.png)]]
    4045 
    41  * 2 下載完後將檔案放在 /tmp/ 下
    42  * 3 執行
     46 2 下載完後將檔案放在 /tmp/ 下
     47
     48 3 執行
    4349 
    4450{{{
     
    5460$ ssh localhost
    5561}}}
    56  * 執行ssh localhost 沒有出現詢問密碼的訊息則無誤
     62
     63執行ssh localhost 沒有出現詢問密碼的訊息則無誤
    5764
    5865 == 1.3. 安裝hadoop ==
    59  * 安裝hadoop0.20到/opt/並取目錄名為hadoop
     66
     67安裝hadoop0.20到/opt/並取目錄名為hadoop
    6068
    6169{{{
     
    153161
    154162== 2.1 安裝hadoop 的 eclipse plugin ==
     163
    155164 * 匯入hadoop 0.20.0 eclipse plugin
     165 
    156166{{{
    157167$ cd /opt/hadoop
    158168$ sudo cp /opt/hadoop/contrib/eclipse-plugin/hadoop-0.20.0-eclipse-plugin.jar /opt/eclipse/plugins
    159169}}}
     170
    160171{{{
    161172$ sudo vim /opt/eclipse/eclipse.ini
    162173}}}
     174
    163175 * 可斟酌參考eclipse.ini內容(非必要)
     176 
    164177{{{
    165178#!sh
     
    178191
    179192== 2.2 開啟eclipse & 設定 ==
     193
    180194 * 打開eclipse
     195 
    181196{{{
    182197$ eclipse &
    183198}}}
    184  * 圖 2-1 一開始會出現問你要將工作目錄放在哪裡:在這我們用預設值
     199
     200一開始會出現問你要將工作目錄放在哪裡:在這我們用預設值
    185201[[Image(2-1.png)]]
    186202-------
    187 之後的說明則是在eclipse 上的介面操作
    188 
    189  * window -> open pers.. -> other.. -> map/reduce
     203
     204'''PS: 之後的說明則是在eclipse 上的介面操作'''
     205
     206-------
     207|| window -> || open pers.. -> || other.. -> || map/reduce||
     208
    190209[[Image(win-open-other.png)]]
    191  
    192  * 圖 2-2 設定要用 Map/Reduce 的視野
     210
     211-------
     212
     213設定要用 Map/Reduce 的視野
    193214[[Image(2-2.png)]]
    194215
    195  * 圖 2-3 使用 Map/Reduce 的視野後的介面呈現
     216---------
     217
     218使用 Map/Reduce 的視野後的介面呈現
    196219[[Image(2-3.png)]]
    197220
    198  * file -> new -> project -> Map/Reduce -> Map/Reduce Project -> next
     221--------
     222
     223 || file ->  || new ->  || project ->  || Map/Reduce ->  || Map/Reduce Project -> ||  next ||
    199224[[Image(file-new-project.png)]]
    200225
    201  * 圖 2-4 建立mapreduce專案(1)
     226--------
     227
     228建立mapreduce專案(1)
    202229[[Image(2-4.png)]]
    203230
    204  * 圖 2-4 建立mapreduce專案的(2)
     231-----------
     232
     233 * 建立mapreduce專案的(2)
    205234[[Image(2-4-2.png)]]
    206235
     
    211240Finish
    212241}}}
     242--------------
    213243
    214244由於剛剛建立了icas這個專案,因此eclipse已經建立了新的專案,出現在左邊視窗,右鍵點選該資料夾,並選properties
    215245
    216  * 圖 2-5 右鍵點選project的properties做細部設定
     246--------------
     2471. 右鍵點選project的properties做細部設定
    217248[[Image(2-5.png)]]
    218249
    219250
    220 進入專案的細部設定頁
    221 
    222  * 圖 2-5-1 hadoop的javadoc的設定(1)
     2512. 進入專案的細部設定頁
     252
     253hadoop的javadoc的設定(1)
    223254[[Image(2-5-1.png)]]
    224255
     
    227258 * java Build Path -> Libraries ->  hadoop-0.20.0-tools.jar
    228259   * 以 hadoop-0.20.0-core.jar 的設定內容如下,其他依此類推
     260   
    229261{{{
    230262#!sh
     
    233265}}}
    234266
    235  * 圖 2-5-2 hadoop的javadoc的設定完後(2)
     267------------
     2683. hadoop的javadoc的設定完後(2)
    236269[[Image(2-5-2.png)]]
    237270
     271------------
     272
    238273 * javadoc location -> 輸入:file:/usr/lib/jvm/java-6-sun/docs/api/
    239274 
    240  * 圖 2-5-3 java本身的javadoc的設定(3)
     2754. java本身的javadoc的設定(3)
    241276[[Image(2-5-3.png)]]
    242277
    243278-----
    244 回到eclipse 主視窗
    245 
    246  * 圖 2-6 視窗右下角黃色大象圖示"Map/Reduce Locations tag" -> 點選齒輪右邊的藍色大象圖示:
     279 * 回到eclipse 主視窗
     280
     281--------
     2821. 視窗右下角黃色大象圖示"Map/Reduce Locations tag" -> 點選齒輪右邊的藍色大象圖示:
    247283[[Image(2-6.png)]]
    248284
    249 圖 2-6-1 進行eclipse 與 hadoop 間的設定(2)
     285-------------
     2862. 進行eclipse 與 hadoop 間的設定(2)
    250287[[Image(2-6-1.png)]]
    251288
     
    258295Finish
    259296}}}
    260 
    261 圖 2-6-2 設定完後,可以看到下方多了一隻藍色大象,左方展開資料夾也可以秀出在hdfs內的檔案結構
     297----------------
     298
     299設定完後,可以看到下方多了一隻藍色大象,左方展開資料夾也可以秀出在hdfs內的檔案結構
    262300[[Image(2-6-2.png)]]
     301-------------
    263302
    264303 = 三、 撰寫範例程式 =
     
    273312 == 3.1  我的第一隻程式 ==
    274313 
    275  * File -> new -> mapper
     314 === 3.1.1 mapper.java ===
     315 
     316 1. new
     317 
     318 || File ->  || new ->  || mapper ||
    276319[[Image(file-new-mapper.png)]]
    277320
    278 圖 3-1 mapper.java
     321-----------
     322
     323 2. create
     324 
    279325[[Image(3-1.png)]]
    280326{{{
     
    284330Name -> : mapper
    285331}}}
    286 
    287  * mapper.java的程式碼:
     332----------
     333
     334 3. modify
     335 
    288336{{{
    289337#!java
     
    313361}}}
    314362
    315  * 圖 3-2 建立mapper.java後,貼入程式碼
     363建立mapper.java後,貼入程式碼
    316364[[Image(3-2.png)]]
    317365
    318 建立reducer.java檔
     366------------
     367
     368== 3.1.2 reducer.java ===
     369
     3701. new
    319371
    320372 * File -> new -> reducer
    321373[[Image(file-new-reducer.png)]]
    322374
    323 圖 3-3 reducer.java
     375-------
     3762. create
    324377[[Image(3-3.png)]]
    325378
     
    331384}}}
    332385
    333  * reducer.java的程式碼
     386-----------
     387
     3883. modify
    334389 
    335390{{{
     
    360415 * File -> new -> Map/Reduce Driver
    361416[[Image(file-new-mr-driver.png)]]
    362 
    363 
    364 圖 3-4 建立WordCount.java,此檔用來驅動mapper 與 reducer,因此選擇 Map/Reduce Driver
     417----------
     418
     419=== 3.1.3 WordCount.java (main function)===
     420
     4211. new
     422
     423建立WordCount.java,此檔用來驅動mapper 與 reducer,因此選擇 Map/Reduce Driver
    365424[[Image(3-4.png)]]
     425------------
     426
     4272. create
    366428
    367429{{{
     
    372434}}}
    373435
    374  * 編輯 WordCount.java 檔
     436-------
     4373. modify
    375438
    376439{{{
     
    412475}}}
    413476
    414 
    415 
    416 圖3-5. 三個檔完成後並存檔後,整個程式建立完成
     477三個檔完成後並存檔後,整個程式建立完成
    417478[[Image(3-5.png)]]
    418479
     480-------
    419481
    420482 * 三個檔都存檔後,可以看到icas專案下的src,bin都有檔案產生,我們用指令來check
     
    429491
    430492 = 四、編譯 =
     493 
    431494 * 由於hadoop 0.20 此版本的eclipse-plugin依舊不完整 ,如:
    432495   * 右鍵點選WordCount.java -> run as -> run on Hadoop :沒有效果
     
    480543
    481544
     545
    482546 == 4.2. 執行 ==
     547 
    483548 * 執行Makefile,可以到該目錄下,執行make [參數],若不知道參數為何,可以打make 或 make help
     549 * make 的用法說明
     550
    484551{{{
    485552$ cd /home/waue/workspace/icas/
    486553$ make
     554Usage:
     555 make jar     - Build Jar File.
     556 make clean   - Clean up Output directory on HDFS.
     557 make run     - Run your MapReduce code on Hadoop.
     558 make output  - Download and show output file
     559 make help    - Show Makefile options.
     560 
     561Example:
     562 make jar; make run; make output; make clean
    487563}}}
    488564