之前搭建環境或是配置軟件歷來都沒有留Tips的習慣,但實踐證實這是錯誤的——作過不等於記得怎麼作,遇到過的錯誤也不等於從此就不是錯誤了。Nutch跟Hadoop的搭建困擾了我好久,但回頭看看又以爲真正有些問題的其實就幾個關鍵點,因此以爲花些時間寫個簡單流程,緬懷一下最近的探索,也但願能給想要搭建Nutch或hadoop的同窗提供一些幫助。歡迎你們指正。 node
想要說明一下的是,雖說hadoop誕生於nutch,但如今hadoop已經徹底獨立爲一個分佈式框架,咱們能夠簡 單地理解爲nutch只是跑在hadoop基礎之上的一個分佈式應用程序(實現的功能是開源的搜索引擎:crawl+index+search)。根據我 的實踐,Nutch+hadoop的配置關鍵仍是在於hadoop環境的搭建。linux
Hadoop 環境搭建apache
1. 硬件環境及軟件選擇框架
硬件環境:2臺Fedora虛擬機(我本身實驗的時候用了4臺,有兩臺在另一位同窗的機子上,因此如今就不佔用了),機器狀況以下表:ssh
計算機名分佈式 |
IPoop |
內存搜索引擎 |
角色spa |
Namenode.net |
172.18.218.34 |
1G |
Namenode+datanode |
Datanode1 |
172.18.218.44 |
512M |
Datanode |
另外,兩個linux系統都建立了一個名爲hadoop的用戶。
至於nutch,我選擇的是1.2版本,由於這個版本集成了Hadoop,不用再單獨去下載Hadoop,並且兼容性較好。
下載地址:http://apache.etoak.com//nutch/ ,若是有須要,也能夠從我這裏拷貝。
2. Hosts文件修改
節點之間的通訊有時候會用到IP地址,有時候會用到計算機名,因此須要給出節點IP地址跟計算機名的對應,linux系統中這種對應關係體如今/etc/hosts文件中,編輯hosts文件,按「IP 計算機名」的形式把各個節點寫進hosts文件。
其中::1這一行是跟IPv6相關的,不須要去理會。其中127.0.0.1這一行是要註釋掉的,否則以後運行 hadoop的時候會出現「Bad connection to DFS」的錯誤,DFS是hadoop的文件系統。每次重啓系統,hosts文件中都會自動自動加上一行127.0.0.1(緣由不解),運行 hadoop以前都要把這一行kill掉才行。
對於機器datanode1,hosts文件也要作相似處理。
3. SSH無密碼訪問
Hadoop集羣中節點都是經過ssh相互聯繫,進行數據傳輸,咱們不可能爲每次鏈接輸入訪問密碼(常規ssh須要訪問密碼),因此咱們須要進行相應配置,使節點之間的ssh鏈接不須要密碼。 咱們能夠經過設置密鑰來實現。
首先在namenode跟datanode上安裝ssh(通常狀況下已經默認安裝了)。
而後在全部的節點(包括namenode跟datanode)上建立公鑰私鑰。
建立公鑰私鑰命令: ssh-keygen –t rsa
期間會要求輸入一些信息,直接按回車就能夠。這樣,在默認的路徑/home/hadoop/.ssh 目錄下建立私鑰 id_rsa 和一個公鑰 id_rsa.pub 。
對於 datanode 節點:
將本身的公鑰發送到 namenode 上:
#cp id_rsa.pub datanode1_rsa.pub
#scp datanode1_rsa.pub 172.18.218.34:/home/hadoop/.ssh
這裏須要注意,因爲每一個 datanode 節點都要將本身的公鑰傳到 namenode 的相同路徑下,所以,各個 datanode 發送的公鑰文件名不能相同。這裏使用 cp 命令,在每臺 datanode 節點上將公鑰文件複製爲惟一名字的文件。
對於 namenode 節點:
在收到全部 datanode 發送過來的公鑰文件以後,要綜合這些文件(包括自身),並將這些文件發送到每一個節點上:
#cp id_rsa.pub authorized_keys
#cat datanode1_rsa.pub >>authorized_keys
把公鑰authorized_keys拷貝到全部節點的.ssh文件夾下:
#scpauthorized_keys 172.18.218.44:/home/hadoop/.ssh
這時必定要查看一下 ssh 配置是否成功,查看方式是使用 ssh 命令: ssh 其餘機器 ip ,若是不須要密碼就能夠登陸,就說明配置成功。若是還須要密碼,乾脆沒法登陸,則須要重啓電腦。重啓以後再次使用 ssh 命令,若是還須要密碼或者沒法登陸,則須要從新配置一遍。
摘自:http://www.linuxidc.com/Linux/2011-12/48782.htm
http://blog.csdn.net/jackydai987/article/details/6222953