偽散布式模式即單節點集群模式,所有的守護進程都運行在同1臺機器上。這類模式下增加了代碼調試功能,可以查看內存、HDFS文件系統的輸入/輸出,和與其他守護進程交互。以hadoop用戶遠程登錄K-Master服務器,在單機模式安裝的基礎上,我們增加對core-site.xml、hdfs-site.xml、mapred-site.xml核心文件的配置步驟。
硬件環境:Centos 6.5 服務器4臺(1臺為Master節點,3臺為Slave節點)
軟件環境:Java 1.7.0_45、hadoop⑴.2.1
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>
格式化HDFS文件系統需要在namenode節點上通過hadoop用戶履行,而且只需要履行1次,下次啟動時不需要再格式化,直接啟動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⑴.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
************************************************************/
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
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偽散布式環境的部署,偽散布式模式也叫單節點集群模式,所有的守護進程都運行在同1臺機器上,上述實驗也證明了這1點,NameNode、SecondaryNameNode、DataNode、JobTracker、TaskTracker所有的守護進程全部運行在K-Master節點之上。
【Hadoop基礎教程】1、Hadoop之服務器基礎環境搭建
【Hadoop基礎教程】2、Hadoop之單機模式搭建
【Hadoop基礎教程】3、Hadoop之偽散布式環境搭建
【Hadoop基礎教程】4、Hadoop之完全散布式環境搭建