1. 程式人生 > >Windows平臺下安裝Hadoop

Windows平臺下安裝Hadoop

出自:  http://www.cnblogs.com/kinglau/archive/2013/08/20/3270160.html

1、安裝JDK1.6或更高版本

  官網下載JDK,安裝時注意,最好不要安裝到帶有空格的路徑名下,例如:Programe Files,否則在配置Hadoop的配置檔案時會找不到JDK(按相關說法,配置檔案中的路徑加引號即可解決,但我沒測試成功)。

2、安裝Cygwin

  Cygwin是Windows平臺下模擬Unix環境的工具,需要在安裝Cygwin的基礎上安裝Hadoop,下載地址:http://www.cygwin.com/

  根據作業系統的需要下載32位或64的安裝檔案。

  1)、雙擊下載好的安裝檔案,點選下一步,選擇install from internet

  
  2)、選擇安裝路徑

  3)、選擇local Package Directory

  4)、選擇您的Internet連線方式

  5)、選擇合適的安裝源,點選下一步

  

  6)、在Select Packages介面裡,Category展開net,選擇如下openssh和openssl兩項

  

    如果要在Eclipe上編譯Hadoop,需要安裝Category為Base下的sed

  

    如果想在Cygwin上直接修改hadoop的配置檔案,可以安裝Editors下的vim

  

  7)、點選“下一步”,等待安裝完成。

3、配置環境變數

  在“我的電腦”上點選右鍵,選擇選單中的“屬性",點選屬性對話方塊上的高階頁籤,點選”環境變數"按鈕,在系統變數列表裡雙擊“Path”變數,在變數值後輸入安裝的Cygwin的bin目錄,例如:D:\hadoop\cygwin64\bin

4、安裝sshd服務

  雙擊桌面上的Cygwin圖示,啟動Cygwin,執行ssh-host-config -y命令

  

  執行後,會提示輸入密碼,否則會退出該配置,此時輸入密碼和確認密碼,回車。最後出現Host configuration finished.Have fun!表示安裝成功。

  輸入net start sshd,啟動服務。或者在系統的服務裡找到並啟動Cygwin sshd服務。

  另外如果是Win8作業系統,啟動Cygwin時,需要以管理員身份執行(右鍵圖示,選擇以管理員身份執行),否則會因為許可權問題,提示“發生系統錯誤5”。

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視窗

6、再次在桌面上雙擊Cygwin圖示,開啟Cygwin視窗,執行ssh localhost命令,第一次執行該命令會有提示,輸入yes後,回車即可。如下圖所示

  

7、安裝Hadoop

  把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>
複製程式碼

8、啟動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”。

特此宣告,如果涉及到版權問題,請告知。