HDFS是Hadoop中自帶的分布式文件系統,具有高容錯、運行在廉價的機器上和高吞吐等特性。
1、hdfs命令格式
l Hadoop fs:使用面最廣,可以操作任何文件系統。
l hadoop dfs與hdfs dfs:只能操作HDFS文件系統相關(包括與Local FS間的操作),前者已經Deprecated,一般使用后者。
l 格式

2、修改目錄權限
l 任務:將HDFS目錄的權限改為“rwxrwxrwx”。
l 步驟
| Linux: // 將Hadoop當前用戶設置為hdfs,實現HDFS訪問授權 1. export HADOOP_USER_NAME=hdfs 2. hadoop fs -chmod -R 777 /tmp/{test} |
3、創建目錄
l 任務:在HDFS上創建目錄“/tmp/{test}/hdfs_data”。
l 步驟
| Linux: // 創建HDFS目錄 1. hadoop fs -mkdir -p /tmp/{test}/hdfs_data |
4、上傳下載文件
l 任務:將本地文件“/var/log/transwarp-manager/master/transwarp-manager.log”上傳到HDFS目錄“/tmp/{test}/hdfs_data”中。
l 步驟
| Linux: 1. hadoop fs –copyFromLocal 本地路徑 hdfs路徑 2. hadoop fs -copyToLocal hdfs路徑 本地路徑 |
|
|
5、查看目錄內容
l 任務:查看HDFS目錄“/tmp/{test}/hdfs_data”的內容。
l 步驟
| Linux: 1. hadoop fs -ls /tmp/{test}/hdfs_data |
6、查看文件內容
l 任務:查看HDFS文件“/tmp/{test}/hdfs_data/transwarp-manager.log”的內容。
l 步驟
| Linux: 1. hadoop fs -cat /tmp/{test}/hdfs_data/transwarp-manager.log |
7、通過Web查看目錄和文件數據塊
l 任務:通過Transwarp Manager瀏覽HDFS目錄,並找到文件“/tmp/{test}/hdfs_data /transwarp-manager.log”的Block Id。
l 步驟
| Web: 1. 登錄Transwarp Manager
2. 進入HDFS服務,點擊左側“角色”按鈕
3. 點擊Namenode后面的“Link”,確保進入的是Active Namenode 4. 點擊菜單項“Utilities/Browse the file system”,瀏覽HDFS目錄
5. 找到文件“/tmp/{test}/hdfs_data/transwarp-manager.log”,查看它的block ID
|
8、查找Block文件
l 任務:在集群各節點的本地文件系統中,查找任務8中Block Id對應的Block文件。
l 步驟
| Linux: 1. find / -name blk* | grep {block_id} |
9、查看Namenode狀態
l 任務:查看Namenode的主備狀態,Active還是Standby。
l 步驟
| Linux: // 查看Namenode nn1的主備狀態,nn1為Namenode ID 1. hdfs haadmin -getServiceState nn1 2. hdfs haadmin -getServiceState nn2 |
10、Namenode主備切換
l 任務:手工實現Namenode主備切換,即Active與Standby互換。
l 步驟
| Linux: // 切換Namenode nn1和nn2的主備狀態,nn1為Active,nn2為Standby 1. hdfs haadmin -failover nn1 nn2 |
11、創建快照
l 任務:為HDFS文件夾“/tmp/{test}/hdfs_data”創建快照。
l 步驟
| Linux: // 設置允許快照 1. hdfs dfsadmin -allowSnapshot /tmp/{test}/hdfs_data // 創建快照 2. hdfs dfs -createSnapshot /tmp/{test}/hdfs_data bak1 |
12、利用快照恢復文件
l 任務:刪除目錄“/tmp/{test}/hdfs_data”中的所有文件,然后利用快照恢復。
l 步驟
| Linux: // 刪除目錄下的所有文件,並確認刪除情況 1. hadoop fs -rm -skipTrash /tmp/{test}/hdfs_data/* 2. hadoop fs -ls /tmp/{test}/hdfs_data // 將快照目錄下的文件復制到原目錄下,實現快照恢復,並查看文件恢復情況 3. hadoop fs -cp /tmp/{test}/hdfs_data/.snapshot/bak1/* /tmp/{test}/hdfs_data 4. hadoop fs -ls /tmp/{test}/hdfs_data |
