在ubuntu部署hadoop之全分佈模式

引文地址:http://www.cnblogs.com/welbeckxu/archive/2011/12/30/2306887.html

接上一篇《ubuntu部署hadoop之僞分佈模式》。

安裝一個Hadoop集羣時,需要專門指定一個服務器作爲主節點。

三臺虛擬機搭建的集羣:(搭建集羣時主機名不能一樣,主機名在/etc/hostname修改)

master機器:(集羣的主節點,駐留NameNode和JobTracker守護進程

IP:10.1.229.1        機器名:xukangde-01

slaves機器:(集羣的從節點,駐留DataNode和TaskTracker守護進程

IP:10.1.229.2        機器名:xukangde-02

IP:10.1.229.3        機器名:xukangde-03

這三臺機器都安裝好了hadoop-0.20.2,JDK和ssh。

這三臺機器都要編輯/etc/hosts

增加:

10.1.229.1    xukangde-01

10.1.229.2    xukangde-02

10.1.229.3    xukangde-03
SSH Access

master必須能以passless ssh訪問slaves

xukangde@xukangde-01:~$ ssh-copy-id -i $HOME/.ssh/id_rsa.pub xukangde@xukangde-02
xukangde@xukangde-01:~$ ssh-copy-id -i $HOME/.ssh/id_rsa.pub xukangde@xukangde-03

執行以上的命令都需要輸入對方的密碼。

完成後,可以在master上分別運行:

xukangde@xukangde-01:~$ ssh xukangde-02
xukangde@xukangde-01:~$ ssh xukangde-03

看是否不需要輸入密碼,如果不需要則設置正確。

配置


只對於master機器(xukangde-01):

更新conf/masters文件如下:

xukangde-01

更新conf/slaves文件如下:

xukangde-01

xukangde-02

xukangde-03

對於這三臺機器

更新三個配置文件的相關屬性

 

複製代碼
<!-- In: conf/core-site.xml -->
<property>
 <name>fs.default.name</name>
 <value>hdfs://xukangde-01:9000</value>      ------定位文件系統的NameNode
</property>

<!-- In: conf/mapred-site.xml -->
<property>
 <name>mapred.job.tracker</name>
 <value>xukangde-01:9001</value>            --------定位JobTrecker所在主節點
</property>

<!-- In: conf/hdfs-site.xml -->
<property>
 <name>dfs.replication</name>
 <value>3</value>                            -----------增大HDFS備份參數
</property>
複製代碼

 

第一次運行

首先需要Format namenode

(格式化之前最好在所有機器上清空hdfs/data,hdfs/name,以免造成衝突)

在xukangde-01上運行:

xukangde@xukangde-01:~/hadoop$ bin/hadoop namenode -format
開啓集羣
開啓 HDFS daemons

在xukangde-01上運行:

xukangde@xukangde-01:~/hadoop$ bin/start-dfs.sh

開啓後,可以在master和slave上運行jps命令,查看開啓的daemons

開啓MapReduce daemons

在xukangde-01上運行:

xukangde@xukangde-01:~/hadoop$ bin/start-mapred.sh

可以在master和slave上運行jps命令,查看開啓的daemons

運行MapReduce Job

在xukangde-01機器上運行WordCount:

首先在dfs中創建input目錄

xukangde@xukangde-01:~/hadoop$ bin/hadoop dfs -mkdir input

將conf中的文件拷貝到dfs中的input:

xukangde@xukangde-01:~/hadoop$ bin/hadoop dfs -copyFromLocal conf/* input
運行WordCount
xukangde@xukangde-01:~/hadoop$ bin/hadoop jar hadoop-0.20.2-examples.jar wordcount input output
顯示輸出結果文件:
xukangde@xukangde-01:~/hadoop$ bin/hadoop dfs -cat output/*
關閉集羣
關閉MapReduce daemons

在master上運行:

xukangde@xukangde-01:~/hadoop$ bin/stop-mapred.sh

關閉HDFS daemons

在master上運行:

xukangde@xukangde-01:~/hadoop$ bin/stop-dfs.sh

至此,在ubuntu的hadoop集羣所運行的三種模式都已經部署好了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章