以三個節點的集群為例:
總括:
nodemanager ,datanode --> slaves
resourcemanager ----------> yarn
namenode ---------------> core-site
詳細解析:
主機名稱 備注 IP地址 功能
hadoop01 Master 192.168.211.134 NameNode、 DataNode、NodeManager、ResourceManager
hadoop02 Slave 192.168.211.129 SecondaryNameNode、DataNode、NodeManager、
hadoop03 Slave 192.168.211.140 DataNode、NodeManager
所有機子都需要配置
1.JDK 2.SSH免登陸 3.Hadoop集群
網關地址;192.168.211.1
一:
NameNode(core-site.xml,這里配哪一台,哪一台啟動namenode),相應的在hdfs-site.xml中的dfs.http.address下對應的
value值也要寫這一台並在之后加50070端口,如hadoop01:50070
<name>fs.defaultFS</name>
<!--配置hdfs系統的地址-->
<value>hdfs://hadoop01:8020</value>(在哪一台配,namenode就在哪一台啟動)
二:
ResourceManager(yarn-site.xml,這里配哪一台,哪一台啟動ResourceManager)兩個相對應。
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
三:
DataNode、NodeManager決定於:
slaves文件。(默認localhost,刪掉即可)
誰跑dataNode,slaves文件寫誰。
當namenode跑的時候,會通過配置文件開始掃描slaves文件,slaves文件有誰,誰啟動dataNode.
當啟動yarn時,會通過掃描配置文件開始掃描slaves文件,slaves文件有誰,誰啟動NodeManager
四:
SecondaryNameNode(hdfs-site.xml)在secondary這個地址下寫誰,誰就是輔助的namenode。
<name>dfs.secondary.http.address</name>
<value>hadoop:50090</value>
五:啟動過程
[hadoop@hadoop01 hadoop]start-dfs.sh 啟動dfs,掃描core-site.xml文件啟動namenode,
namenode啟動完成之后掃描slaves文件,在sbin目錄下
執行 ./hadoop-daemon.sh start datanode 啟動datanode.(每一台機器都是這么操作的)
sbin目錄:cd /home/hadooop/hadoop-2.6.1/sbin/
[hadoop@hadoop01 sbin]./yarn-daemon.sh start resourcemanager (resourcemanager利用yarn-daemon.sh腳本來啟動,
掃描slaves文件,啟動resourcemanager,啟動完成之后,掃描slaves文件,在sbin目錄下,執行 ./yarn-daemon.sh start nodemanager 啟動NodeManager)
六:免密過程
發送密鑰:取決於誰。密鑰是用來在哪些主機之間進行傳遞的?
在配置hadoop分布式安裝過程中,需要配置ssh的無密碼登錄。
在組建hadoop集群的時候,需要多台實體機進行通信(發送或者讀取數據,
namenode和datanode之間)就是借助ssh,在通信過程中如果需要操作人員
頻繁輸入密碼是不切實際的,所以需要ssh的無密碼登錄。
總結:哪台功能為nameNode就在哪台設置ssh免密登錄。向其他datanode主機發送,
如果自己有,也要給自己發送。
ResourceManager和NodeManager的關系同理。
五個節點應用:http://www.cnblogs.com/pingzizhuanshu/p/8964025.html