什么是NameNode和DataNode?他們是如何協(xié)同工作的?

什么是NameNode和DataNode? 他們是如何協(xié)同工作的? 馬克-to-win @ 馬克java社區(qū):一個(gè)HDFS集群包含一個(gè)NameNode和若干的DataNode(start-dfs命令就啟動(dòng)了NameNode和DataNode), NameNode是管理者,主要負(fù)責(zé)管理hdfs文件系統(tǒng),具體包括namespace命名空間管理(即目錄結(jié)構(gòu))和block管理。DataNode主 要用來(lái)存儲(chǔ)數(shù)據(jù)文件,因?yàn)槲募赡芫薮鬅o(wú)比(大數(shù)據(jù),大于1TB),HDFS將一個(gè)文件分割成一個(gè)個(gè)的block,這些block可能存儲(chǔ)在一個(gè)DataNode上或 者多個(gè)DataNode上。DataNode負(fù)責(zé)實(shí)際的底層的文件的讀寫(xiě)。馬克-to-win @ 馬克java社區(qū):舉個(gè)例子:如果客戶(hù)端client程序發(fā)起了讀hdfs上的某個(gè)文件的指令, NameNode首先將找到這個(gè)文件對(duì)應(yīng)的block,然后NameNode告知client,這些block數(shù)據(jù)在哪些DataNode上,之后, client將直接和DataNode交互。馬克- to-win:馬克 java社區(qū):防盜版實(shí)名手機(jī)尾號(hào): 73203