標籤:hadoop eclipse plugin mapreduce
在Windows上使用Eclipse配置Hadoop MapReduce開發環境1. 系統內容及所需檔案
- windows 8.1 64bit
- Eclipse (Version: Luna Release 4.4.0)
- hadoop-eclipse-plugin-2.7.0.jar
- hadoop.dll & winutils.exe
2. 修改Master節點的hdfs-site.xml
添加如下內容
<property> <name>dfs.permissions</name> <value>false</value> </property>
旨在取消許可權檢查,原因是為瞭解決我在windows機器上配置eclipse串連hadoop伺服器時,配置map/reduce串連後報以下錯誤,org.apache.hadoop.security.AccessControlException: Permission denied:
3. 配置Hadoop外掛程式
- 將下載的hadoop-eclipse-plugin-2.7.0.jar檔案放到Eclipse的plugins目錄下,重啟Eclipse即可看到該外掛程式已生效
- 建立New hadoop location, Eclipse功能表列Window -> Show View -> Other MapReduce Tools -> Map/Reduce Locations
3. 配置完畢,查看效果
4. 建立一個Map/Reduce Project
- 建立項目 File–New–Other–Map/Reduce Project 命名為WordCount
(從hadoop-2.6.0-cdh5.4.1源碼中拷貝WordCount.java, F:\DevTools\hadoop-2.6.0-cdh5.4.1\src\hadoop-mapreduce-project\hadoop-mapreduce-examples\src\main\java\org\apache\hadoop\examples\WordCount.java)
2.java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)異常問題
修改Master節點中hadoop-2.6.0-cdh5.4.1\src\hadoop-common-project\hadoop-common\src\main\java\org\apache\hadoop\io\nativeio\NativeIO.java
然後在/src/hadoop-common-project/hadoop-common目錄下 用maven重新編譯jar包
mvn package -Pdist,native -DskipTests -Dtar -e -X
編譯完成後會在hadoop-common/target產生相應的jar包只需要用hadoop-common-2.6.0-cdh5.4.1.jar替換掉windows下$HADOOP_HOME\share\hadoop\common目錄對應的jar包
5. windows下運行環境配置
將下載下來的hadoop.dll,winutils.exe拷貝到$HADOOP_HOME/bin目錄下
6. 運行WordCount Project
在eclipse中點擊WordCount.java,右鍵,點擊Run As—>Run Configurations,配置運行參數,即輸入和輸出檔案夾
hdfs://Master:9000/input hdfs://Master:9000/output
(注意:如果output目錄已經存在,則刪掉或換個名字,如output01,output02 。。。 )
7. 運行結果
在Windows上使用Eclipse配置Hadoop MapReduce開發環境