hdfs學習(二)
一、HDFS文件限額配置
在多人共用HDFS的環境下,配置設置非常重要。特別是在Hadoop處理大量資料的環境,如
果沒有配額管理,很容易把所有的空間用完造成別人無法存取。Hdfs的配額設定是針對目錄
而不是針對帳號,可以 讓每個帳號僅操作某一個目錄,然後對目錄設置配置。
hdfs文件的限額配置允許我們以文件個數,或者文件大小來限制我們在某個目錄下上傳的文
件數量或者文件內容總量,以便達到我們類似百度網盤網盤等限制每個用戶允許上傳的最大
的文件的量。
①數量限額
hdfs dfs -mkdir -p /user/root/dir #創建hdfs文件夾
hdfs dfsadmin -setQuota 2 dir # 給該文件夾下面設置最多上傳兩個文件,發現只能上傳一個文件,因為系統把文件本身也當作文件
清除文件數量限制
hdfs dfsadmin -clrQuota /user/root/dir # 清除文件數量限制
②空間大小限額
在設置空間配額時,設置的空間至少是block_size * 3大小
生成任意大小文件的命令:
dd if=/dev/zero of=1.txt bs=1M count=2 #生成2M的文件
清除空間配額限制
二、hdfs的安全模式
安全模式是hadoop的一種保護機制,用於保證集群中的數據塊的安全性。當集群啟動的時
候,會首先進入安全模式。當系統處於安全模式時會檢查數據塊的完整性。
假設我們設置的副本數(即參數dfs.replication)是3,那麼在datanode上就應該有3個副本存
在,假設只存在2個副本,那麼比例就是2/3=0.666。hdfs默認的副本率0.999。我們的副本率
0.666明顯小於0.999,因此系統會自動的複製副本到其他dataNode,使得副本率不小於0.999。
如果系統中有5個副本,超過我們設定的3個副本,那麼系統也會刪除多於的2個副本。
在安全模式狀態下,文件系統只接受讀數據請求,而不接受刪除、修改等變更請求。在,當
整個系統達到安全標準時,HDFS自動離開安全模式
安全模式操作命令:
hdfs dfsadmin -safemode get #查看安全模式狀態
hdfs dfsadmin -safemode enter #進入安全模式
hdfs dfsadmin -safemode leave #離開安全模式
三、HDFS基準測試
①測試寫入速度
向HDFS文件系統中寫入數據,10個文件,每個文件10MB,文件存放到/benchmarks/TestDFSIO中
完成之後查看寫入速度結果:
②測試讀取速度
在HDFS文件系統中讀入10個文件,每個文件10M
查看讀取果
清除測試數據
HDFS文件寫入過程
HDFS讀取過程