Hadoop在Windows環境下的部署

來源:互聯網
上載者:User

經過一整天的折騰,參考了網上很多資料,我機器上的Hadoop似乎是配置成功了。下面分享一下詳細的配置過程。也祝願大家在配置的過程中少走彎路。

注意:本文的配置環境是:

CygWin最新版本2.769下載地址 Window7-64bit JDK1.6.0_31-win64 (JRE6)下載地址 Eclipse-Indigo.. Hadoop 0.20.2 (注意:0.20.203版本不可用,會導致tasktracker無法啟動)下載地址 -----------------------------------------華麗分割------------------------------------ 環境安裝&配置: 1.JDK,我的安裝目錄:C/Java,安裝後視圖

安裝好了JDK,然後配置JAVA_HOME環境變數: 然後,把JDK下面的BIN目錄追加到環境變數PATH後面。
2.CygWin,安裝過程中記得選擇所需的包,這裡需要的是: Net Category下的:openssh,openssl BaseCategory下的:sed (若需要Eclipse,必須sed) Devel Category下的:subversion(建議安裝)。具體請參考下面的圖示:



安裝完成後,把CygWin的bin目錄以及usr/sbin 追加到系統內容變數PATH中。
3.Hadoop 把下載的hadoop-0.20.2.tar.gz解壓到指定目錄。我把解壓後的Hadoop程式放到了Cygwin根目錄下的hadoop檔案夾中。具體如下圖示: (不要使用0.20.203版本的Hadoop。。。)

下面開始配置Hadoop。需要配置的檔案:(hadoop/conf目錄下) hadoop-env.sh core-site.xml hdfs-site.xml mapred-site.xml 第一個檔案 hadoop-env.sh
把裡面的JAVA_HOME改掉,注意export前面的#號要去掉。 而且必須要使用linux的路徑表達方式。我的jdk路徑是 C:\JAVA\jdk1.6.0_31,在CygWin中對應的路徑為: /cygdrive/c/java/jdk1.6.0_31
第二個檔案:core-site.xml 首先刪除它,然後把hadoop/src/core目錄下的core-default.xml檔案複製到conf目錄下,並命名為core-site.xml。然後修改其中的fs.default.name變數,如下所示。 (確保連接埠號碼(我的是9100)未被佔用)

第三個檔案:hdfs-site.xml 首先把它刪除,然後複製src/hdfs目錄下的hdfs-default.xml到conf目錄下,並改名為hdfs-site.xml 然後修改dfs.replication變數,如下圖示: 該變數意思是檔案系統中檔案的複本數量。在單獨的一個資料節點上運行時,HDFS無法將塊複製到三個資料節點上。

第四個檔案:mapred-site.xml 首先刪除它,然後複製src/mapred目錄下的mapred-default.xml到conf目錄下,並改名為mapred-site.xml,然後修改其mapred.job.tracker變數: (同樣確保連接埠號碼未被佔用)


----------------------------------華麗分割------------------------------------- 配置SSH服務 (首先確認安裝了OpenSSH,OpenSSL兩個包) 1.開啟CygWin輸入SSH-HOST-CONFIG 2.系統提示:should privilege  separation be used ? 回答:no 3.系統提示:if sshd should be installed as service?回答:yes 4.系統提示:the value of CYGWIN environment variable 輸入: ntsec 5.成功 下面是圖示(我自己當時沒記錄,所以參考的是網路上的圖片)

下一步,進入Window系統的服務菜單,開啟Cygwin的SSHD服務:如下圖所示:
下面繼續回到CygWin環境:執行如下命令: 1.ssh-keygen然後一直斷行符號 2.cd ~/.ssh 3.     cp id_rsa_pub anthorized_keys 4.exit 退出cygwin,若不退出,可能出錯 再次登入時查看一下:
5運行 ssh localhost  若有提示,則斷行符號。 6執行 ps  若看到 有/usr/bin/ssh 進程,說明成功
------------------------------------華麗分割---------------------------------- 啟動Hadoop 第0步:為了避免jobtracker,info could only be replicated to 0 node,instead of 1錯誤,最好把 hadoop/conf目錄下面的 masters和slaves檔案全部改為127.0.0.1(原內容為:localhost)
第一步,在hadoop目錄下建立目錄logs,用於儲存日誌
第二步,格式化管理者,即namenode,建立HDFS 執行命令: bin/hadoop namenode -format,下面示代表成功 此時,執行ps,應該能看到ssh進程,且看不到java虛擬機器進程。
第三步,啟動Hadoop,執行命令: bin/start-all.sh 然後執行jps命令,你可能會看到如下圖:
會發現Datanode ,Secondarynamenode以及TaskTracker都沒有啟動。網上有人說是JPS的問題,具體不是很清楚,但本文後面的檔案系統可以使用。Datanode可以儲存資料,繼續看吧。
不過此時執行PS命令,能看到5個JVM進程。
不知道這算不算成功,但我的Logs記錄檔夾裡面沒有報錯。
------------------------------華麗分割--------------------------------------- 檔案系統操作 為了驗證HDFS能夠正常工作我們可以進行檔案的上傳操作。 執行命令: bin/hadoop fs -mkdir In bin/hadoop fs -put  *.txt In 以上命令會在HDFS中建立In檔案夾,然後把本地Hadoop目錄下的所有文字檔上傳到HDFS中,Hadoop目錄下共用四個txt檔案:
OK,上傳的太少,不爽,再上傳一部電影。比如,我要把一個視頻檔案movie.mpg上傳到HDFS中,首先,在Hadoop根目錄下建立檔案夾local,然後把movie.mpg拷貝到其中
下面執行命令:
然後,查看檔案系統是否有上述檔案:
可以看到Movie.mpg在HDFS中。
同樣在Eclipse中也能看到哇:

OK,突然不能貼圖了,我再接著寫一篇吧。介紹一下常見的錯誤處理。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.