今天總結一下hadoop的分佈式部署安裝,因爲寡人資源實在是有限,在學習的時候,是在一臺機器上模擬多臺服務器進行部署的,後面咱們在寫集羣。html
原創文章,轉載請註明出處:http://blog.csdn.net/jessonlv/article/details/18270041java
一、安裝前的準備node
在安裝軟件以前,咱們的linux系統具體要進行一下操做,否則,hadoop安裝不成功!linux
一、關閉防火牆,sql
RedHat 內置一個文本行的管理工具,能夠管理防火牆、ip 地址、各種服務等信息的設置。使用setup 命令調出該工具。很簡單,我就不贅述了。。
瀏覽器
二、修改IP地址安全
將虛擬機的ip地址和宿主機的ip地址設置在一個網段,互相ping通。命令也很簡單,不贅述。服務器
三、修改hostname爲hadoop網絡
命令「hostname 新主機名」,意味着修改主機名,但只對本次會話有效,重啓機器後失效。咱們要想永久改主機名,須要修改配置文:/etc/sysconfig/network咱們這裏將主機名改成:hadoopssh
四、設置ssh自動登陸。
設置ssh自動登陸。
若是咱們須要遠程管理其餘機器的話,通常使用遠程桌面或者telnet。linxu 服務器幾乎都是命令行,因此只能使用telnet 了。telnet 的缺點是通訊不加密,很是不安全,只適合於
內網訪問。爲解決這個問題,推出了加密的通訊協議,即SSH。SSH 的全稱是Secure Shell,使用非對稱加密方式,傳輸內容使用rsa 或者dsa 加密,能夠有效避免網絡竊聽。
hadoop 的進程之間通訊使用ssh 方式,須要每次都要輸入密碼。爲了實現自動化操做,咱們下面配置SSH 的免密碼登陸方式.
首先到用戶主目錄下:
在「ls -a」命令顯示的文件中,最後一列中間一項是「.ssh」,該文件夾是存放密鑰的。注意該文件夾是以「.」開頭的,是隱藏文件。待會咱們生成的密鑰都會放到這個文件夾中。
如今執行命令,生成密鑰
解釋一下:
命令「ssh-keygen -t rsa」表示使用rsa 加密方式生成密鑰, 回車後,會提示三次輸入信息,咱們直接回車便可。
而後進入密鑰文件夾,執行命令,
其中,命令「cp id_rsa.pub authorized_keys」用於生成受權文件。至此,配置部分完成了。這裏爲何要使用ssh 登陸本機哪?由於hadoop 在本機部署時,須要使用ssh 訪問。
注意:文件夾「.ssh」中的三個文件的權限,是有要求的,「本身以外的任何人對每一個文件都沒有寫權限」。另外,「.ssh」文件夾是700 權限。若是權限有問題,會形成SSH 訪問
失敗。
如今開始驗證SSH 無密碼登陸
執行「ssh localhost」意味着使用「ssh」通訊協議訪問主機「localhost」,第一次執行時須要確認;第二次再也不確認了。這就是無密碼登陸。當登陸到對方機器後,退出使用命令
「exit」。這兩次操做時,注意觀察主機名變化。讀者能夠執行命令「ssh book0」,驗證dns對book0 解析是否正確。
注意:使用命令ssh 時,必定要觀察主機名的變化。不少同窗在操做ssh 時,因爲大量的使用ssh 登陸退出,忘記本身目前在哪臺機器了,執行了大量錯誤的操做。
另外,若是屢次執行ssh,每次都要輸入確認信息的話,說明配置失敗了。能夠刪除文件夾「.ssh」,從新配置。也能夠重啓虛擬機再配置。只要嚴格按照上面的步驟操做,保證
可以成功的。
若是還搞不定,給你個絕招」 刪除/etc/udev/rules.d/70-persistent-net.rules 文件,重啓
系統」。
配置出錯,能夠查看/var/log/secure 日誌文件,找緣由。
以上四項完成之後下面我安裝jdk和hadoop
二、安裝jdk和hadoop
(1)jdk-6u24-linux-xxx.bin
(2)hadoop-1.1.2.tar.gz
將這個兩個文件放在/usr/local 下,分別解壓,並將解壓後的文件分別命名爲: hadoop 和 jdk
一、首先配置jdk
咱們知道,jdk的配置在/etc/profile裏。hadoop的配置道理和jdk是同樣的,看圖中紅線圈中的部分。
固然,編輯完配置文件後,還要執行
source /etc/profile驗證執行 java -version 等命令。
三、修改hadoop的四個配置文件
這四個配置文件分別爲:
一、hadoop-env.sh
用vi編輯器打開,將下面的配置複製進去就好了:
export JAVA_HOME=/usr/local/jdk/注意你的路徑。
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop:9000</value>
<description>change your own hostname</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
我在上面加了描述,只要和你的主機名相對應就行,這裏個人主機名字數hadoop
三、hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> </configuration>
四、mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop:9001</value>
<description>change your own hostname</description>
</property>
</configuration>
這個仍是須要修改你的主機名,端口號不用改。
四、格式化hadoop的namenode
hadoop namenode -format
若是出現上面的日誌信息,那說明我們的hadoop安裝已經大功告成了。下面,咱們看看勞動成果。
五、啓動hadoop
啓動命令:
./start-all.sh在local/hadoop/bin 目錄下。
而後用jps命令查看下都啓動了什麼進程,咱們發現hadoop的運行,一會兒蹦出了五個進程,看名思意。
六、驗證hadoop
啓動成功後,咱們在瀏覽器下驗證:
另一個端口號再來一張:
至此,咱們的安裝就所有完成了,後面我會總結下集羣的安裝、設置。