Hadoop的三種安裝模式:
1. Stand Alone Mode, 所有Hadoop執行個體都在一個jvm裡面運行
2. Psuedo Distributed Mode 所有Hadoop執行個體運行在不同的jvm(本課程)
3. Fully Distributed Mode 每個執行個體都運行在各自機器上
1. Installation Overview
a) 安裝前提
i. 使用SSH來完成主從機器的溝通。所以本過程至少要兩台機器(或者一台機器中的虛擬機器也行)。然後兩台機器上安裝ssh,這樣可以從主機登入到客戶機器上(該教程花了很長時間處理ssh免輸入密碼登入)。這裡我們把Hadoop 的NameNode 和 Data Node都裝到一台機器上,另外一台機器只是用於登入。所以理論上講,如果不想登入的話,一台ubuntu機器就可以了,可以直接忽略這一步。()
ii. 兩個機器上都裝有JRE6.0或以上。因為Hadoop運行在jvm中
b) 安裝Hadoop
i. 下載安裝Hadoop
ii. 添加環境變數
iii. 配置Hadoop環境:包括指定jre運行環境,和關閉ipv6。
iv. 配置Name Node和Job Tracker的xml檔案
v. 運行hadoop
2. Install Hadoop
第一步:在主機上安裝ssh,這裡的主機名稱HNClient
sudo apt-get install openshh-server
第二步:串連到Name Node上(也就是我們的hadoop安裝的機器,HNName)
ssh hnname
輸入密碼後可以登入。 (當然,你的客戶機上面也要裝好ssh,不然怎麼登入?)
第三步:在HNName上面產生一個新密碼,空密碼,這樣可以以後從HNClient登入時候不需要輸入密碼了。
輸入 ssh-keygen,密碼會儲存在 ~/.ssh/id_rsa裡面,直接斷行符號產生一個空密碼
這時候可以實驗一下登入本機:ssh localhost,仍然要輸入密碼,但是直接斷行符號就行了,因為我們剛剛設定了一個空密碼
把這個密碼儲存到認真密碼的檔案中 cat ~/.ssh/id_rsa.pub >> ~/.ssh authorized_keys
現在再試試登入,ssh localhost 不需要輸入密碼了
現在把這個秘鑰拷貝到HNClient上面,這樣登入HNClient就不要求輸入密碼認證了。Ssh-copy-id -i ~/.ssh/id_rsa.pub nuggetuser@hnclient
實驗一下ssh hnclient 不要求輸入密碼了
第四步:安裝JRE環境
在NHName上安裝,這裡安裝了open jdk環境
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
輸入 java -version檢查環境
第五步:下載Hadoop
http://hadoop.apache.org/releases.html
找一個合適的穩定版下載,這裡下載了Hadoop1.2.0-bin.tar-gz
第六步:解壓縮 tar -zxvf hadoop-1.2.0-bin.tar.gz
第七部:把解壓的檔案夾放到合適的位置sudo cp - r hadoop-1.2.0 /usr/local/hadoop
第八步:配置.bashrc
在後面添加上:
export HADOOP_HOME = /usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME
然後exec bash來應用,可以用$PATH來查看是不是成功了
第九步:配置Hadoop
進入Hadoop根目錄,開啟/conf/hadoop-env.sh
解除其中的兩行注釋並添加一些代碼,結果如
基本上就是配置了jre環境為剛剛安裝的Open JDK,然後禁用了ipv6,
你也可以安裝上面白色框中的代碼直接在系統中禁用ipv6,這樣hadoop這一步就不需要配置了
第十步:配置Name Node和Job Tracker
配置Name Node : 開啟core-site.xml並輸入如下內容
第一個配置了一個Name Node, 第二個配置了一個臨時檔案夾用於儲存臨時資料
記得建立上面配置的tmp檔案夾
sudo mkdir /usr/local/hadoop/tmp
sudo chown nuggerster /usr/local/hadoop/tmp
改變這個檔案夾的所屬使用者
配置Job Tracker: 開啟mapred-site.xml並輸入如下內容:
這裡配置了一個job tracker
第十一步:格式化Name Node: hadoop namenode -format
第十二步:完成了,可以啟動hadoop了:運行start-all.sh 可以輸入jps來查看是不是運行了。
有沒有人成功了?呵呵
關閉Hadoop: stop-all.sh
或者單獨啟動Name Node, Data Node: hadoop-daemons.sh start namenode
這些命令都在/hadoop/bin裡面
3. Hadoop Demons & Stuff
從Web UI登入name Node:
hnname:50070
登入job tracker
hnname:50030
登入tast tracker
hnname:50060
在瀏覽器中輸入上面的地址,可以看到web UI。
總結來說,其實安裝Hadoop到一台機器上並不複雜,核心步驟就是下載Hadoop,解壓,然後配置環境變數,配置jre運行環境,禁用ipv6,配置Name Node,配置Job Tracker。
其他的步驟,比如安裝ssh和配置ssh,安裝jre都屬於前提條件。Hadoop的另外兩種安裝模式這個視頻裡面還沒講,以後如果講到的話再補充吧。