Hadoop機(jī)架感知及啟動停止方法詳解
在學(xué)習(xí)Hadoop的過程中,你可能會遇到Hadoop的機(jī)架感知方面的問題,本節(jié)就向大家介紹一下Hadoop的機(jī)架感知方面的知識以及Hadoop的啟動和停止的方法,歡迎大家一起來學(xué)習(xí)。下面是具體講解。
Hadoop的機(jī)架感知
HDFS和Map/Reduce的組件是能夠感知機(jī)架的。
NameNode和JobTracker通過調(diào)用管理員配置模塊中的APIresolve來獲取集群里每個slave的機(jī)架id。該API將slave的DNS名稱(或者IP地址)轉(zhuǎn)換成機(jī)架id。使用哪個模塊是通過配置項
topology.node.switch.mapping.impl來指定的。模塊的默認(rèn)實現(xiàn)會調(diào)用topology.script.file.name配置項指定的一個的腳本/命令。如果topology.script.file.name未被設(shè)置,對于所有傳入的IP地址
,模塊會返回/default-rack作為機(jī)架id。在Map/Reduce部分還有一個額外的配置項mapred.cache.task.levels,該參數(shù)決定cache的級數(shù)(在網(wǎng)絡(luò)拓?fù)渲校?。例如,如果默認(rèn)值是2,會建立兩級的cache-一級針對主機(jī)(主機(jī)->任務(wù)的映射)另一級針對機(jī)架(機(jī)架->任務(wù)的映射)。
啟動Hadoop
啟動Hadoop集群需要啟動HDFS集群和Map/Reduce集群。
格式化一個新的分布式文件系統(tǒng):
$bin/hadoopnamenode-format
在分配的NameNode上,運(yùn)行下面的命令啟動HDFS:
$bin/start-dfs.sh
bin/start-dfs.sh腳本會參照NameNode上${HADOOP_CONF_DIR}/slaves文件的內(nèi)容,在所有列出的slave上啟動DataNode守護(hù)進(jìn)程。
在分配的JobTracker上,運(yùn)行下面的命令啟動Map/Reduce:
$bin/start-mapred.sh
bin/start-mapred.sh腳本會參照J(rèn)obTracker上${HADOOP_CONF_DIR}/slaves文件的內(nèi)容,在所有列出的slave上啟動TaskTracker守護(hù)進(jìn)程。
停止Hadoop
在分配的NameNode上,執(zhí)行下面的命令停止HDFS:
$bin/stop-dfs.sh
bin/stop-dfs.sh腳本會參照NameNode上${HADOOP_CONF_DIR}/slaves文件的內(nèi)容,在所有列出的slave上停止DataNode守護(hù)進(jìn)程。
在分配的JobTracker上,運(yùn)行下面的命令停止Map/Reduce:
$bin/stop-mapred.sh
bin/stop-mapred.sh腳本會參照J(rèn)obTracker上${HADOOP_CONF_DIR}/slaves文件的內(nèi)容,在所有列出的slave上停止TaskTracker守護(hù)進(jìn)程。
【編輯推薦】
- 技術(shù)分享 Hadoop集群搭建方法
- 實例講解Hadoop用法
- Hadoop集群與Hadoop性能優(yōu)化
- HadoopHBase實現(xiàn)配置簡單的單機(jī)環(huán)境
- Hadoop命令大全