windows7+eclipse+hadoop2.5.2環境配置

windows7+eclipse+hadoop2.5.2環境配置 html

 

一.hadoop集羣環境配置 
參考個人前一篇文章(ubuntu + hadoop2.5.2分佈式環境配置  http://www.cnblogs.com/huligong1234/p/4136331.html) 


但本人配置時還修改了以下內容(因爲你的環境和個人可能不一致,能夠在後面出現相關問題後再進行修改): 
a.在master節點上(ubuntu-V01)修改hdfs-site.xml加上如下內容 
<property> 
<name>dfs.permissions</name> 
<value>false</value> 
</property> 

旨在取消權限檢查,緣由是爲了解決我在windows機器上配置eclipse鏈接hadoop服務器時,配置map/reduce鏈接後報如下錯誤,org.apache.hadoop.security.AccessControlException: Permission denied: 


b.一樣在master節點上(ubuntu-V01)修改hdfs-site.xml加上如下內容 
<property> 
<name>dfs.web.ugi</name> 
<value>jack,supergroup</value> 
</property> 

緣由是運行時,報以下錯誤 WARN org.apache.hadoop.security.ShellBasedUnixGroupsMapping: got exception trying to get groups for user jack 
應該是個人windows的用戶名爲jack,無訪問權限 
更多權限配置可參看官方說明文檔: 
HDFS權限管理用戶指南 http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_permissions_guide.html 

配置修改完後重啓hadoop集羣: 
hadoop@ubuntu-V01:~/data$./sbin/stop-dfs.sh 
hadoop@ubuntu-V01:~/data$./sbin/stop-yarn.sh 
hadoop@ubuntu-V01:~/data$./sbin/start-dfs.sh 
hadoop@ubuntu-V01:~/data$./sbin/start-yarn.sh 


二.windows基礎環境準備 
windows7(x64),jdk,ant,eclipse,hadoop 

1.jdk環境配置 
jdk-6u26-windows-i586.exe安裝後好後配置相關JAVA_HOME環境變量,並將bin目錄配置到path 

2.eclipse環境配置 
eclipse-standard-luna-SR1-win32.zip解壓到D:\eclipse\目錄下並命名eclipse-hadoop 
下載地址: http://developer.eclipsesource.com/technology/epp/luna/eclipse-standard-luna-SR1-win32.zip 
3.ant環境配置 
apache-ant-1.9.4-bin.zip解壓到D:\apache\目錄下,配置環境變量ANT_HOME,並將bin目錄配置到path 
下載地址: http://mirror.bit.edu.cn/apache//ant/binaries/apache-ant-1.9.4-bin.zip 

4.下載hadoop-2.5.2.tar.gz 
http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.5.2/hadoop-2.5.2.tar.gz 

5.下載hadoop-2.5.2-src.tar.gz 
http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.5.2/hadoop-2.5.2-src.tar.gz 

6.下載hadoop2x-eclipse-plugin 
https://github.com/winghc/hadoop2x-eclipse-plugin 

7.下載hadoop-common-2.2.0-bin 
https://github.com/srccodes/hadoop-common-2.2.0-bin 

分別將hadoop-2.5.2.tar.gz、hadoop-2.5.2-src.tar.gz、hadoop2x-eclipse-plugin、hadoop-common-2.2.0-bin下載解壓到F:\hadoop\目錄下 


8.修改本地hosts文件,加入以下內容:
192.168.1.112 ubuntu-V01

3、編譯hadoop-eclipse-plugin-2.5.2.jar配置 
1.添加環境變量HADOOP_HOME=F:\hadoop\hadoop-2.5.2\ 
追加環境變量path內容:%HADOOP_HOME%/bin 

2.修改編譯包及依賴包版本信息 
修改F:\hadoop\hadoop2x-eclipse-plugin-master\ivy\libraries.properties 
hadoop.version=2.5.2 
jackson.version=1.9.13 

3.ant編譯 
F:\hadoop\hadoop2x-eclipse-plugin-master\src\contrib\eclipse-plugin> 
ant jar -Dversion=2.5.2 -Declipse.home=D:\eclipse\eclipse-hadoop\eclipse -Dhadoop.home=F:\hadoop\hadoop-2.5.2 

編譯好後hadoop-eclipse-plugin-2.5.2.jar會在F:\hadoop\hadoop2x-eclipse-plugin-master\build\contrib\eclipse-plugin目錄下 


4、eclipse環境配置 
1.將編譯好的hadoop-eclipse-plugin-2.5.2.jar拷貝至eclipse的plugins目錄下,而後重啓eclipse 
2.打開菜單Window--Preference--Hadoop Map/Reduce進行配置,以下圖所示: 


3.顯示Hadoop鏈接配置窗口:Window--Show View--Other-MapReduce Tools,以下圖所示: 


4.配置鏈接Hadoop,以下圖所示: 


查看是否鏈接成功,能看到以下信息,則表示鏈接成功: 



5、hadoop集羣環境添加測試文件
(若是已有則無需配置) 

a.dfs上建立input目錄 
hadoop@ubuntu-V01:~/data/hadoop-2.5.2$bin/hadoop fs -mkdir -p input 

b.把hadoop目錄下的README.txt拷貝到dfs新建的input裏 
hadoop@ubuntu-V01:~/data/hadoop-2.5.2$bin/hadoop fs -copyFromLocal README.txt input 


6、建立一個Map/Reduce Project 
1.新建項目 File--New--Other--Map/Reduce Project 命名爲MR1, 
而後建立類org.apache.hadoop.examples.WordCount,從hadoop-2.5.2-src中拷貝覆蓋 
(F:\hadoop\hadoop-2.5.2-src\hadoop-mapreduce-project\hadoop-mapreduce-examples\src\main\java\org\apache\hadoop\examples\WordCount.java) 

2.建立log4j.properties文件 
在src目錄下建立log4j.properties文件,內容以下: 
log4j.rootLogger=debug,stdout,R 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%5p - %m%n 
log4j.appender.R=org.apache.log4j.RollingFileAppender 
log4j.appender.R.File=mapreduce_test.log 
log4j.appender.R.MaxFileSize=1MB 
log4j.appender.R.MaxBackupIndex=1 
log4j.appender.R.layout=org.apache.log4j.PatternLayout 
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n 
log4j.logger.com.codefutures=DEBUG 

3.解決java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)異常問題 
(因爲你的環境和個人可能不一致,能夠在後面出現相關問題後再進行修改) 
拷貝源碼文件org.apache.hadoop.io.nativeio.NativeIO到項目中 
而後定位到570行,直接修改成return true; 
以下圖所示: 



7、windows下運行環境配置
(若是不生效,則須要重啓機器) 

須要hadoop.dll,winutils.exe 
我是直接拷貝F:\hadoop\hadoop-common-2.2.0-bin-master\bin目錄下內容覆蓋F:\hadoop\hadoop-2.5.2\bin 


8、運行project
在eclipse中點擊WordCount.java,右鍵,點擊Run As—>Run Configurations,配置運行參數,即輸入和輸出文件夾 
hdfs://ubuntu-V01:9000/user/hadoop/input hdfs://ubuntu-V01:9000/user/hadoop/output 
以下圖所示: 


注意:若是output目錄已經存在,則刪掉或換個名字,如output01,output02 。。。 


另外,出現問題能夠多看日誌( http://ubuntu-v01:8088/logs/) 



參看資料: 

Win7中使用Eclipse鏈接虛擬機中的Ubuntu中的Hadoop2.4經驗總結 
http://www.aboutyun.com/thread-7784-1-1.html 

hadoop2.2 eclipse鏈接hdfs(hadoop) 
http://www.aboutyun.com/thread-8190-1-1.html 

新手指導:Windows上使用Eclipse遠程鏈接Hadoop進行程序開發 
http://www.aboutyun.com/thread-6001-1-1.html 

windows eclipse運行mapreduce遇到權限問題該如何解決 
http://www.aboutyun.com/thread-7660-1-1.html 

hadoop開發方式總結及操做指導 
http://www.aboutyun.com/thread-6950-1-1.html 

我遇到的hadoop錯誤和解決方法彙總 
http://heipark.iteye.com/blog/786302 

HDFS權限管理用戶指南 
http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_permissions_guide.html
相關文章
相關標籤/搜索