異構存儲主要解決不同的數據,存儲在不同類型的硬盤中,達到最佳性能的問題。
異構存儲Shell操作
(1)查看當前有哪些存儲策略可以用
[lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies
(2)爲指定路徑(數據存儲目錄)設置指定的存儲策略
hdfs storagepolicies -setStoragePolicy -path xxx -policy xxx
(3)獲取指定路徑(數據存儲目錄或文件)的存儲策略
hdfs storagepolicies -getStoragePolicy -path xxx
(4)取消存儲策略;執行改命令之後該目錄或者文件,以其上級的目錄爲準,如果是根目錄,那麼就是HOT
hdfs storagepolicies -unsetStoragePolicy -path xxx
(5)查看文件塊的分佈
bin/hdfs fsck xxx -files -blocks -locations
(6)查看集羣節點
hadoop dfsadmin -report
配置文件信息
(1)爲hadoop102節點的hdfs-site.xml添加如下信息
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.storage.policy.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>[SSD]file:///opt/module/hadoop-3.1.4/hdfsdata/ssd,[RAM_DISK]file:///opt/module/hadoop-3.1.4/hdfsdata/ram_disk</value>
</property>
(2)爲hadoop103節點的hdfs-site.xml添加如下信息
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.storage.policy.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>[SSD]file:///opt/module/hadoop-3.1.4/hdfsdata/ssd,[DISK]file:///opt/module/hadoop-3.1.4/hdfsdata/disk</value>
</property>
(3)爲hadoop104節點的hdfs-site.xml添加如下信息
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.storage.policy.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>[RAM_DISK]file:///opt/module/hdfsdata/ram_disk,[DISK]file:///opt/module/hadoop-3.1.4/hdfsdata/disk</value>
</property>
(4)爲hadoop105節點的hdfs-site.xml添加如下信息
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.storage.policy.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>[ARCHIVE]file:///opt/module/hadoop-3.1.4/hdfsdata/archive</value>
</property>
(5)爲hadoop106節點的hdfs-site.xml添加如下信息
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.storage.policy.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>[ARCHIVE]file:///opt/module/hadoop-3.1.4/hdfsdata/archive</value>
</property>
注意:當我們將目錄設置爲COLD並且我們未配置ARCHIVE存儲目錄的情況下,不可以向該目錄直接上傳文件,會報出異常。
數據準備
(1)啓動集羣
[lytfly@hadoop102 hadoop-3.1.4]$ hdfs namenode -format
[lytfly@hadoop102 hadoop-3.1.4]$ myhadoop.sh start
(1)並在HDFS上創建文件目錄
[lytfly@hadoop102 hadoop-3.1.4]$ hadoop fs -mkdir /hdfsdata
(2)並將文件資料上傳
[lytfly@hadoop102 hadoop-3.1.4]$ hadoop fs -put /opt/module/hadoop-3.1.4/NOTICE.txt /hdfsdata