一、安裝JDK1.6或更高版本html
官網下載JDK,安裝時注意,最好不要安裝到帶有空格的路徑名下,例如:Programe Files,不然在配置Hadoop的配置文件時會找不到JDK(按相關說法,配置文件中的路徑加引號便可解決,但我沒測試成功)。node
二、安裝Cygwinweb
Cygwin是Windows平臺下模擬Unix環境的工具,須要在安裝Cygwin的基礎上安裝Hadoop,下載地址:http://www.cygwin.com/apache
根據操做系統的須要下載32位或64的安裝文件。vim
1)、雙擊下載好的安裝文件,點擊下一步,選擇install from internet瀏覽器
2)、選擇安裝路徑ssh
3)、選擇local Package Directoryide
4)、選擇您的Internet鏈接方式工具
5)、選擇合適的安裝源,點擊下一步oop
6)、在Select Packages界面裏,Category展開net,選擇以下openssh和openssl兩項
若是要在Eclipe上編譯Hadoop,須要安裝Category爲Base下的sed
若是想在Cygwin上直接修改hadoop的配置文件,能夠安裝Editors下的vim
7)、點擊「下一步」,等待安裝完成。
三、配置環境變量
在「個人電腦」上點擊右鍵,選擇菜單中的「屬性",點擊屬性對話框上的高級頁籤,點擊」環境變量"按鈕,在系統變量列表裏雙擊「Path」變量,在變量值後輸入安裝的Cygwin的bin目錄,例如:D:\hadoop\cygwin64\bin
四、安裝sshd服務
雙擊桌面上的Cygwin圖標,啓動Cygwin,執行ssh-host-config -y命令
執行後,會提示輸入密碼,不然會退出該配置,此時輸入密碼和確認密碼,回車。最後出現Host configuration finished.Have fun!表示安裝成功。
輸入net start sshd,啓動服務。或者在系統的服務裏找到並啓動Cygwin sshd服務。
可能會遇到沒法安裝和啓動sshd服務的問題,可參考此鏈接http://www.cnblogs.com/kinglau/p/3261886.html。
另外若是是Win8操做系統,啓動Cygwin時,須要以管理員身份運行(右鍵圖標,選擇以管理員身份運行),不然會由於權限問題,提示「發生系統錯誤5」。
五、配置SSH免密碼登陸
執行ssh-keygen命令生成密鑰文件
以下圖所示,輸入:ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa,注意-t -P -f參數區分大小寫。
ssh-keygen是生成密鑰命令
-t 表示指定生成的密鑰類型(dsa,rsa)
-P表示提供的密語
-f指定生成的密鑰文件。
注意:~表明當前用戶的文件夾,/home/用戶名
執行此命令後,在你的Cygwin\home\用戶名 路徑下面會生成.ssh文件夾,能夠經過命令ls -a /home/用戶名 查看,ssh -version命令查看版本。
執行完ssh-keygen命令後,再執行下面命令,就能夠生成authorized_keys文件了。
cd ~/.ssh/
cp id_dsa.pub authorized_keys
以下圖所示:
而後執行exit命令,退出Cygwin窗口
六、再次在桌面上雙擊Cygwin圖標,打開Cygwin窗口,執行ssh localhost命令,第一次執行該命令會有提示,輸入yes後,回車便可。以下圖所示
七、安裝Hadoop
hadoop官網下載http://hadoop.apache.org/releases.html。
把hadoop壓縮包解壓到/home/用戶名 目錄下,文件夾名稱更改成hadoop,能夠不修改,但後邊在執行命令時稍顯麻煩。
(1)單機模式配置方式
單機模式不須要配置,這種方式下,Hadoop被認爲是一個單獨的Java進程,這種方式常常用來調試。
(2)僞分佈模式
能夠把僞分佈模式看做是隻有一個節點的集羣,在這個集羣中,這個節點既是Master,也是Slave,既是NameNode,也是DataNode,既是JobTracker,也是TaskTracker。
這種模式下修改幾個配置文件便可。
配置hadoop-env.sh,記事本打開改文件,設置JAVA_HOME的值爲你的JDK安裝路徑,例如:
JAVA_HOME="D:\hadoop\Java\jdk1.7.0_25"
配置core-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> <property> <name>mapred.child.tmp</name> <value>/home/u/hadoop/tmp</value> </property> </configuration>
配置hdfs-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
配置mapred-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property> <property> <name>mapred.child.tmp</name> <value>/home/u/hadoop/tmp</value> </property> </configuration>
八、啓動Hadoop
打開Cgywin窗口,執行cd ~/hadoop命令,進入hadoop文件夾,以下圖:
啓動Hadoop前,須要先格式化Hadoop的文件系統HDFS,執行命令:bin/hadoop namenode -format
注意namenode要小些,不然若是輸入NameNode,會提示錯誤,找不到或沒法加載主類NameNode。執行正確命令後以下圖所示:
輸入命令 bin/start-all.sh,啓動全部進程,以下圖:
接下來,驗證是否安裝成功
打開瀏覽器,分別輸入下列網址,若是可以正常瀏覽,說明安裝成功。
http://localhost:50030,回車打開MapReduce的web頁面,以下圖(頁面部分截圖):
http://localhost:50070,回車打開HDFS的web頁面,以下圖(頁面部分截圖):
第一次啓動後,若是都不能瀏覽,或不能瀏覽某一個,退出Cygwin,從新打開Cygwin,執行bin/start-all.sh命令。
若是隻想啓動MapReduce,可執行bin/start-mapred.sh命令。
若是隻想啓動HDFS,可執行bin/start-dfs.sh命令。
參考文獻:
本文參考和引用了《Hadoop實戰》(做者:陸嘉恆)中的章節「2.3在Windows上安裝與配置Hadoop」。
特此聲明,若是涉及到版權問題,請告知。