hdfs之客戶端讀、寫操做,元數據,Secondarynamenode,Checkpoint

客戶端寫操做


1)客戶端請求上傳數據到服務器node

2)服務器接收到這個請求,而後到本身的元數據裏面去查詢,元數據中是否記錄了該文件的存在數據庫

3)NN響應客戶端是否能夠上傳服務器

4)服務器會發送再次請求,須要上傳多大的數據文件code

5)服務器會檢查DataNode的信息xml

6)服務器會根據上傳文件大小進行調度,調度出最合適的DataNode隊列返回給客戶端blog

【每隔3秒鐘,DataNode都會向NN發送一個數據,DN的狀態和可用空間】隊列

7)告訴DN須要上傳數據內存

8)客戶端接收隊列數據:it

  經過pop方法,取出第一個節點的地址,而後訪問該節點,並吧剩下的其餘節點的IP地址帶過去;配置

  第一個DN接收數據,再從隊列中取出第一個,繼續把剩下的IP帶過去,直到最後一個節點結束;

  最後一個節點收到信息以後,想源地址發送確認消息,確認到第一個DN的時候,DN會把確認消息返回給客戶端;

【即創建好了傳輸通道】

9)客戶端接收到最終確認消息以後,開始往每個DN上寫入數據

10)最終寫入成功會將消息返回給客戶端

11)客戶端向NN彙報,數據寫入成功,NN就會把消息寫入元數據中

12)最後NN會通知DN自動作數據副本平衡

客戶端讀操做


1)客戶端請求NN,須要下載文件

2)NN把文件的元數據信息返回給客戶端

3)客戶端接收到數據後,就到相應的客戶端去請求數據便可

4)最後客戶端本地進行數據追加合併從而得到整個文件

元數據

1)元數據:元數據是咱們內存的一塊空間

2)元數據:是一個文件,fsimage_0000000000XX文件就是元數據

3)元數據:就是一個小型的數據庫,裏面存放了全部文件的位置

Secondarynamenode

1)secondarynamenode其實是對NameNode數據的一個備份

2)secondarynamenode是爲了防止NameNode機器掛掉

3)secondarynamenode不能和NameNode放在一塊兒

能夠修改hdfs-site.xml配置文件來指定secondarynamenode的地址

<!--指定SecondaryNameNode的地址-->
<property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hdp02:50090</value>
</property>

Checkpoint

Checkpoint就是定時檢查節點

相關文章
相關標籤/搜索