Eclipse Plugin for Hadoop 配置

1 篇文章 / 0 new
author
Eclipse Plugin for Hadoop 配置
整個環境是 Hadoop 1.2.1 已裝安在 VirtualBox, 而開發環境在 win 下, 且已安裝開發工具 Eclipse (我使用indigo版), 另需再準備兩項資料
1. Hadoop 1.2.1 檔案(需與 Hadoop 同版本)
2. hadoop-eclipse-plugin-1.2.1.jar (需與 Hadoop 同版本, google 一下就有)
► 檔案配置
1. 解接 hadoop 檔, 如放置在 d:\hadoop
2. 將 hadoop-eclipse-plugin-1.2.1.jar 放置到 eclipse\plugins 目錄下
3. hadoop-eclipse-plugin-1.2.1.jar 需要使用 j2sdk 7 的版本, 否則配置時會錯誤. 一般會出現如下訊息
java.lang.UnsupportedClassVersionError: org/apache/hadoop/eclipse/preferences/MapReducePreferencePage : Unsupported major.minor version 51.0
► Eclipse 配置
1. 點選 視窗 > 喜好設定, 選取 Hadoop Map/Reduce, 然後指定 hadoop 資料所在位置

2. 開啟 hadoop 開發視窗環境, 點選 視窗 > 開啟視窗 > 其他, 選取 Map/Reduce

3. 新增連線, 於 Map/Reduce Locations 視窗內按下滑鼠右鍵

4. 連線配置, Map/Reduce Master 之 host,port 需與 mapred-site.xml 內設置相同, M/R Master Host 則須與 core-site.xml 一致.

完成後, 若正確連線則可約見如下情況, 這樣初步開發環境就完成囉
 
► Windows 下 Eclipse 產生的問題(Linux 則不會)
在 win 下因檔案權限問題, 提交給 hadoop 時會出現 Failed to set permissions of path: \tmp....staging to 0700, 目前處理方式為 替換調 hadoop-core-1.2.1.jar (網路上有已修改版本), 其主要是修改 hadoop-x.x.x/src/core/org/apache/hadoop/fs/FileUtil.java 的 checkReturnValue 方法, 將其去掉然後重新編譯打包
private static void checkReturnValue(boolean rv, File p, FsPermission permission) throws IOException {
    /** if (!rv) {
        throw new IOException("Failed to set permissions of path: " + p + " to " + String.format("%04o", permission.toShort()));
    } **/
}
其他方式(目前測試無效)
1.修改 hdfs-site.xml 文件,增加參數
<property>
    <name>dfs.permissions</name>
    <value>false</value>
</property>
2. 變更目錄權限為 777, hadoop fs -chmod -r +rwx /tmp

from http://trac.nchc.org.tw/cloud/wiki/Hadoop_Lab5_1, http://cyxinda.blog.163.com/blog/static/3659618620139112139240/, http://my.oschina.net/vigiles/blog/132278
Free Web Hosting