標籤:des style blog http io ar os 使用 sp
windows7+eclipse+hadoop2.5.2環境配置
一.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叢集:
[email protected]:~/data$./sbin/stop-dfs.sh
[email protected]:~/data$./sbin/stop-yarn.sh
[email protected]:~/data$./sbin/start-dfs.sh
[email protected]:~/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
三、編譯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目錄下
四、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,如所示:
查看是否串連成功,能看到如下資訊,則表示串連成功:
五、hadoop叢集環境添加測試檔案(如果已有則無需配置)
a.dfs上建立input目錄
[email protected]:~/data/hadoop-2.5.2$bin/hadoop fs -mkdir -p input
b.把hadoop目錄下的README.txt拷貝到dfs建立的input裡
[email protected]:~/data/hadoop-2.5.2$bin/hadoop fs -copyFromLocal README.txt input
六、建立一個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;
如所示:
七、windows下運行環境配置(如果不生效,則需要重啟機器)
需要hadoop.dll,winutils.exe
我是直接拷貝F:\hadoop\hadoop-common-2.2.0-bin-master\bin目錄下內容覆蓋F:\hadoop\hadoop-2.5.2\bin
八、運行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
windows7+eclipse+hadoop2.5.2環境配置