全部產品
Search
文件中心

Lindorm:通過HDFS Shell串連並使用LindormDFS

更新時間:Jul 06, 2024

HDFS Shell是HadoopDistributed File System(HDFS)提供的命令列工具。LindormDFS(Lindorm底層儲存,LDFS)100%相容HDFS協議,您可以通過HDFS Shell工具互動式管理LDFS中儲存的檔案,例如檔案查詢、檔案刪除、檔案許可權管理和修改檔案名稱等。本文介紹通過HDFS Shell管理LDFS時的常用命令及使用樣本。

環境配置

請參見下載用戶端配置Hadoop

常用命令

資料上傳

下表為將本機資料上傳至LDFS的常用命令。

命令

說明

put

從本地檔案系統中複製單個或多個源路徑到目標LDFS。也支援從標準輸入中讀取輸入寫入目標LDFS。

copyFromLocal

限定源路徑為本地檔案,其他功能實現和put命令相同。

moveFromLocal

將檔案從本地剪下到LDFS。

appendToFile

從本地檔案系統追加一個或多個src到目標LDFS。

資料處理

下表為處理LDFS中資料時的常用命令。

命令

說明

cp

將檔案從源路徑複製到目標路徑。這個命令允許有多個源路徑,此時目標路徑必須是一個目錄。

mv

將檔案從源路徑移動到目標路徑。這個命令允許有多個源路徑,此時目標路徑必須是一個目錄。不允許在不同的檔案系統間移動檔案。

chown

改變檔案的擁有者。使用-R將使改變在目錄結構下遞迴進行。命令的使用者必須是超級使用者。

chgrp

改變檔案所屬的組。使用-R將使改變在目錄結構下遞迴進行。命令的使用者必須是檔案的所有者或者超級使用者。

chmod

改變檔案的許可權。使用-R將使改變在目錄結構下遞迴進行。命令的使用者必須是檔案的所有者或者超級使用者。

mkdir

接受路徑指定的URL作為參數,建立這些目錄。其行為類似於Unix的mkdir -p,它會建立路徑中的各級父目錄。

du

顯示目錄中所有檔案的大小,或者當只指定一個檔案時,顯示此檔案的大小。

df

查看檔案的使用方式。

cat

將路徑指定檔案的內容輸出到stdout。

rm

刪除指定的檔案。只刪除非空目錄和檔案。

ls

  • 如果是檔案,則返迴文件資訊的格式為:檔案名稱 <副本數> 檔案大小 修改日期 修改時間 許可權 使用者ID 組ID

  • 如果是目錄,則返回它直接子檔案的一個列表,就像在Unix中一樣。目錄返回列表的資訊為:目錄名 <dir> 修改日期 修改時間 許可權 使用者ID 組ID

資料下載

從LDFS下載資料到本地的常用指令如下表所示。

命令

說明

get

複製檔案到本地檔案系統。可用-ignorecrc選項複製CRC校正失敗的檔案。使用-crc選項複製檔案以及CRC資訊。

getmerge

接受一個來源目錄和一個目標檔案作為輸入,並且將來源目錄中所有的檔案串連成本地目標檔案。

copyToLocal

除了限定目標路徑是一個本地檔案外,和get命令類似。

更多命令,可以執行help命令查看。更多內容請參考Apache HDFS Shell介紹

樣本

實際使用時,請將範例程式碼中的${執行個體Id}替換為Lindorm執行個體ID。

  • 查詢目錄下面的檔案。

    ${HADOOP_HOME}/bin/hadoop fs -ls hdfs://${執行個體ID}/
  • 上傳檔案。

    ${HADOOP_HOME}/bin/hadoop fs -put test.txt hdfs://${執行個體ID}/
  • 下載檔案至本地。

    ${HADOOP_HOME}/bin/hadoop fs -get hdfs://${執行個體ID}/${filename}

    其中,${filename}為需要下載的檔案名稱。

  • 刪除檔案。

    ${HADOOP_HOME}/bin/hadoop fs -rm hdfs://${執行個體ID}/${filename}

    其中,${filename}為需要下載的檔案名稱。

    說明

    使用上述樣本刪除檔案時,檔案會被移動至Trash目錄下,不會被真正清除。如需徹底清除,請執行hadoop fs -expunge命令,即清空資源回收筒。