06、hdfs檔案儲存

weixin_34208283發表於2017-10-29

1、上傳一個大於128M的檔案

hadoop fs -put ./hadoop-2.7.3.tar.gz /

2、檢視hdfs下所有檔案

hadoop fs -ls /

3、檢視控制頁面:http://192.168.1.10:50070/explorer.html#/
可以發現hadoop-2.7.3.tar.gz佔了2個block

4369144-ce4005f9c0516029.png
Paste_Image.png
4369144-4d167a67a4513694.png
Paste_Image.png

4.1、hdfs預設儲存檔案是3份,可以改成2份
 vim /hadoop/etc/hadop/hdfs-site.xml

<property>
        <name>dfs.replication</name>
        <value>2</value>
</property>

4.2、重啟hdfs:stop-dfs.sh start-dfs.sh
4.3、再次上傳一個檔案:hadoop fs -put jdk-8u131-linux-x64.tar.gz /
4.4、控制檯檢視,只有2份了

4369144-ac2aa18f3f9fbc64.png
Paste_Image.png

5.1、測試一臺機器掛掉,其中一個block會自動複製到正在執行的其他節點上
dfs.namenode.heartbeat.recheck-interval:每隔一段時間會檢查是否有機器掛掉,然後把它上面的檔案複製到其他機器上
vim /hadoop/etc/hadop/hdfs-site.xml

<property>
        <name>dfs.namenode.heartbeat.recheck-interval</name>
        <value>10000</value>
</property>

5.2、重啟,此時jdk-8u131-linux-x64.tar.gz的儲存情況是:
 block0: slave1,slave3
 block1: slave1,slave2
5.3、關閉slave3: hadoop-daemon.sh stop datanode

4369144-df338804b5e2c5c0.png
Paste_Image.png

5.4、監控介面

4369144-cf018cf82fed131e.png
Paste_Image.png
4369144-b0ac5d368aad7f33.png
Paste_Image.png

總結:hdfs就是一塊空間無限大的硬碟,受制於NameNode記憶體的大小,知道NameNode那臺機器記憶體的大小
NameNode儲存系統的後設資料,包括目錄結構,分塊情況,每一塊在哪臺機器上,許可權資訊
DataNode儲存真正資料的資訊,DataNode自動做備份,預設份數為3(可以自己改,最多512份),一臺機器掛掉導致份數不夠,會自動複製到其他機器上。空間不夠,可以加一臺機器,配置好core-site.xml即可被自動識別

相關文章