【Hadoop基礎教程】3、Hadoop之僞分佈式環境搭建

僞分佈式模式即單節點集羣模式,所有的守護進程都運行在同一臺機器上。這種模式下增加了代碼調試功能,可以查看內存、HDFS文件系統的輸入/輸出,以及與其他守護進程交互。以hadoop用戶遠程登錄K-Master服務器,在單機模式安裝的基礎上,我們增加對core-site.xml、hdfs-site.xml、mapred-site.xml核心文件的配置步驟。

開發環境


硬件環境:Centos 6.5 服務器4臺(一臺爲Master節點,三臺爲Slave節點)
軟件環境:Java 1.7.0_45、hadoop-1.2.1

1、 配置Hadoop


1)配置core-site.xml

修改Hadoop核心配置文件/usr/hadoop/conf/core-site.xml,通過fs.default.name指定 NameNode 的 IP 地址和端口號,通過hadoop.tmp.dir指定hadoop數據存儲的臨時文件夾。

[hadoop@K-Master hadoop] vi conf/core-site.xml
<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://K-Master:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/hadoop/tmp</value>
    </property>
</configuration>

特別注意:如沒有配置hadoop.tmp.dir參數,此時系統默認的臨時目錄爲:/tmp/hadoo-hadoop。而這個目錄在每次重啓後都會被刪除,必須重新執行format纔行,否則會出錯。

2)配置hdfs-site.xml

修改HDFS核心配置文件/usr/hadoop/conf/hdfs-site.xml,通過dfs.replication指定HDFS的備份因子爲1,通過dfs.name.dir指定namenode節點的文件存儲目錄,通過dfs.data.dir指定datanode節點的文件存儲目錄。

[hadoop@K-Master hadoop] vi conf/hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.name.dir</name>
        <value>/usr/hadoop/hdfs/name</value>
    </property>
    <property>
        <name>dfs.data.dir</name>
        <value>/usr/hadoop/hdfs/data</value>
    </property>
</configuration>

2)配置mapred-site.xml

修改MapReduce核心配置文件/usr/hadoop/conf/mapred-site.xml,通過mapred.job.tracker屬性指定JobTracker的地址和端口。

[hadoop@K-Master hadoop] vi conf/mapred-site.xml
<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>http://K-Master:9001</value>
    </property>
</configuration>

2、 格式化HDFS文件系統


格式化HDFS文件系統需要在namenode節點上通過hadoop用戶執行,而且只需要執行一次,下次啓動時不需要再格式化,直接啓動HDFS文件管理系統和MapReduce服務即可。

[hadoop@K-Master ~]$ hadoop namenode -format
14/07/24 16:37:57 INFO namenode.NameNode: STARTUP_MSG: 
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   host = K-Master/192.168.100.147
STARTUP_MSG:   args = [-format]
STARTUP_MSG:   version = 1.2.1
STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152; compiled by 'mattf' on Mon Jul 22 15:23:09 PDT 2013
STARTUP_MSG:   java = 1.7.0_65
********************a****************************************/
14/07/24 16:37:57 INFO util.GSet: Computing capacity for map BlocksMap
14/07/24 16:37:57 INFO util.GSet: VM type   = 64-bit
14/07/24 16:37:57 INFO util.GSet: 2.0% max memory = 932184064
14/07/24 16:37:57 INFO util.GSet: capacity  = 2^21 = 2097152 entries
14/07/24 16:37:57 INFO util.GSet: recommended=2097152, actual=2097152
14/07/24 16:37:58 INFO namenode.FSNamesystem: fsOwner=hadoop
14/07/24 16:37:58 INFO namenode.FSNamesystem: supergroup=supergroup
14/07/24 16:37:58 INFO namenode.FSNamesystem: isPermissionEnabled=true
14/07/24 16:37:58 INFO namenode.FSNamesystem: dfs.block.invalidate.limit=100
14/07/24 16:37:58 INFO namenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s)
14/07/24 16:37:58 INFO namenode.FSEditLog: dfs.namenode.edits.toleration.length = 0
14/07/24 16:37:58 INFO namenode.NameNode: Caching file names occuring more than 10 times 
14/07/24 16:37:58 INFO common.Storage: Image file /usr/hadoop/hdfs/name/current/fsimage of size 112 bytes saved in 0 seconds.
14/07/24 16:37:59 INFO namenode.FSEditLog: closing edit log: position=4, editlog=/usr/hadoop/hdfs/name/current/edits
14/07/24 16:37:59 INFO namenode.FSEditLog: close success: truncate to 4, editlog=/usr/hadoop/hdfs/name/current/edits
14/07/24 16:37:59 INFO common.Storage: Storage directory /usr/hadoop/hdfs/name has been successfully formatted.
14/07/24 16:37:59 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at K-Master/192.168.100.147
************************************************************/

3、 啓動HDFS文件管理系統


1)通過start-dfs.sh命令啓動HDFS文件管理系統,啓動後通過如下日誌信息可以看到在K-Master服務器上分別啓動了namenode、datanode和secondarynamenode。

[hadoop@K-Master ~]$ start-dfs.sh
starting namenode, logging to /usr/hadoop/libexec/../logs/hadoop-hadoop-namenode-K-Master.out
K-Master: starting datanode, logging to /usr/hadoop/libexec/../logs/hadoop-hadoop-datanode- K-Master.out
K-Master: starting secondarynamenode, logging to /usr/hadoop/libexec/../logs/hadoop-hadoop-secondarynamenode-K-Master.out

2)在K-Master節點上查看啓動進程

若打印如下日誌信息,表明K-Master服務器上啓動了NameNode、SecondaryNameNode2、DataNode服務進程,即K-Master服務器上HDFS文件管理系統啓動成功。

[hadoop@K-Master ~]$ jps
6164 Jps
5971 NameNode
6108 SecondaryNameNode
1265 DataNode

4、 啓動MapReduce


1)通過start-mapred.sh命令啓動MapReduce分佈式計算服務,啓動後通過以下日誌信息可以看到在K-Master服務器上啓動了jobtracker、tasktracker進程。

[hadoop@K-Master ~]$ start-mapred.sh
starting jobtracker, logging to /usr/hadoop/libexec/../logs/hadoop-hadoop-jobtracker-K-Master.out
K-Master: starting tasktracker, logging to /usr/hadoop/libexec/../logs/hadoop-hadoop-tasktracker- K-Master.out

2)K-Master節點上查看啓動進程

若打印如下日誌信息,表明K-Master服務器上新啓動了JobTracker、TaskTracker服務進程,即K-Master服務器上MapReduce啓動成功。

[hadoop@K-Master ~]$ jps
1342 NameNode
1726 Jps
1619 JobTracker
1480 SecondaryNameNode
1549 TaskTracker
1265 DataNode

完成上述4步,表明我們成功的完成了Hadoop僞分佈式環境的部署,僞分佈式模式也叫單節點集羣模式,所有的守護進程都運行在同一臺機器上,上述實驗也證明了這一點,NameNode、SecondaryNameNode、DataNode、JobTracker、TaskTracker所有的守護進程全部運行在K-Master節點之上。

您可能喜歡

【Hadoop基礎教程】1、Hadoop之服務器基礎環境搭建
【Hadoop基礎教程】2、Hadoop之單機模式搭建
【Hadoop基礎教程】3、Hadoop之僞分佈式環境搭建
【Hadoop基礎教程】4、Hadoop之完全分佈式環境搭建

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