HDFS 常用命令

来源:http://www.cnblogs.com/royfans/archive/2017/07/31/7263295.html
-Advertisement-
Play Games

參考文檔:http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-common/FileSystemShell.html Hadoop createSnapshot和deleteSnapshot命令,請戳一下鏈接: create ...


參考文檔:http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-common/FileSystemShell.html

Hadoop createSnapshot和deleteSnapshot命令,請戳一下鏈接:

createSnapshot和deleteSnapshot

註意:

  • 以下指令均是在,Linux 命令行視窗界面操作。
  • 本教程基於Hadoop偽分散式安裝下編寫測試。
  • [ ]表示可選參數,<>表示必須參數。
  • 開始使用命令前,必須啟動Hadoop

(1)-appendToFile

用法: hadoop fs -appendToFile <localsrc> ... <dst>

作用:是將一個或者多個文件添加到HDFS系統中。

示例:

hadoop fs -appendToFile localfile /user/hadoop/hadoopfile
hadoop fs -appendToFile localfile1 localfile2 /user/hadoop/hadoopfile
hadoop fs -appendToFile localfile hdfs://nn.example.com/hadoop/hadoopfile
hadoop fs -appendToFile - hdfs://nn.example.com/hadoop/hadoopfile Reads the input from stdin.

  


(2)-cat

用法:hadoop fs -cat URI [URI ...]

作用:查看文件內容(可以查看本地和HDFS上的內容)。


示例:

hadoop fs -cat hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2
hadoop fs -cat file:///file3 /user/hadoop/file4

  

(3)-checksum

用法: hadoop fs -checksum URI

作用:查看校驗碼信息。(例子顯示了MD5)

示例:

hadoop fs -checksum hdfs://nn1.example.com/file1
hadoop fs -checksum file:///etc/hosts

  


(4)-chgrp

用法: hadoop fs -chgrp [-R] GROUP URI [URI ...]

作用:改變文件所屬的組。(Change group association of files.)

使用-R 將使改變在目錄結構下遞歸進行。


(5)-chmod

作用:改變文件訪問許可權。

用法:hadoop fs -chmod [-R] <MODE[,MODE]... | OCTALMODE> URI [URI ...]

這裡可以參考 Linux下文件系統的chmod的用法,基本類似。

(6)-chown

作用:hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ]

用法:改變文件的所有者。使用-R 將使改變在目錄結構下遞歸進行。命令的使用者必須是超級用戶。

(7)-copyFromLocal

用法:hadoop fs -copyFromLocal <localsrc> URI

作用:類似於put命令,和put不同的是,拷貝的源地址必須是本地文件地址。

-f 參數 當拷貝的目標文件存在時,進行覆蓋。

示例:

[root@two1 fanrui]# hadoop fs -copyFromLocal testFlatMap.txt /1.txt 
copyFromLocal: `/1.txt': File exists

  

 這個時候加上-f參數。即可覆蓋。

[root@two1 fanrui]# hadoop fs -copyFromLocal -f testFlatMap.txt /1.txt

 

(8)-copyToLocal

用法: hadoop fs -copyToLocal [-ignorecrc] [-crc] URI <localdst>

作用:類似於get指令。和get不同的是,拷貝的目的地址必須是本地文件地址。
(9)-count

作用:計算paths下的目錄數,文件數和位元組數。

用法: hadoop fs -count [-q] [-h] [-v] <paths>

hadoop fs -count hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2
hadoop fs -count -q hdfs://nn1.example.com/file1
hadoop fs -count -q -h hdfs://nn1.example.com/file1
hdfs dfs -count -q -h -v hdfs://nn1.example.com/file1

  


(10)-cp
用法:hadoop fs -cp [-f] [-p | -p[topax]] URI [URI ...] <dest>
作用:拷貝,HDFS文件系統中進行的拷貝操作。
-f 參數選項:當文件存在時,進行覆蓋。
-p 參數選項:將許可權、所屬組、時間戳、ACL以及XAttr等也進行拷貝。下麵是官網的描述。

The -p option will preserve file attributes [topx] (timestamps, ownership, permission, ACL, XAttr). If -p is specified with no arg, then preserves timestamps, ownership, permission. If -pa is specified, then preserves permission also because ACL is a super-set of permission. Determination of whether raw namespace extended attributes are preserved is independent of the -p flag.

示例:

[root@two1 fanrui]# hadoop fs -cp -p /tmp/fan /tmp/fan1

  

(11)-df
用法:hadoop fs -df [-h] URI [URI ...]
作用:顯示剩餘空間。
示例:

[root@two1 fanrui]# hadoop fs -df /
Filesystem                Size       Used    Available    Use%
hdfs://localhost:9000  37626667008  311296  24792702976    0%

 

(12)-dus
作用:顯示文件長度概要。該方法已經被捨去,等價於 -du -s 方法。見(11)

(13)-expunge
作用:從垃圾桶目錄永久刪除超過保留閾值的檢查點中的文件,並創建新檢查點。

用法:hadoop fs -expunge

(14)-find
作用:查找滿足表達式的文件和文件夾。沒有配置path的話,預設的就是全部目錄/;如果表達式沒有配置,則預設為-print。
用法: hadoop fs -find <path> ... <expression> ...
-name pattern 所要查找文件的文件名。
-iname pattern 所要查找的文件名,不區分大小寫。
-print 列印。
-print0 列印在一行,如下圖所示。

示例:

hadoop fs -find / -name test -print

  


(15)-get
作用:從HDFS上拷貝文件到本地。
用法:hadoop fs -get [-ignorecrc] [-crc] <src> <localdst>
示例:

hadoop fs -get /user/hadoop/file localfile
hadoop fs -get hdfs://nn.example.com/user/hadoop/file localfile


(16)getfacl

作用:顯示文件和文件夾的ACLs(Access Control Lists)。如果目錄有預設的ACL,則顯示之。
-R參數:遞歸顯示。
用法:

hadoop fs -getfacl [-R] <path>

Options:

  • -R: List the ACLs of all files and directories recursively.
  • path: File or directory to list.

示例:

hadoop fs -getfacl /file
hadoop fs -getfacl -R /dir

  

Exit Code:

Returns 0 on success and non-zero on error.

(17)getfattr

作用:顯示文件或目錄的擴展屬性名和值(如果有的話)

用法:hadoop fs -getfattr [-R] -n name | -d [-e en] <path>

Options:

-R:遞歸顯示文件夾和文件。
-n name:轉儲命名的擴展屬性值。
-d:轉儲與路徑名相關聯的所有擴展屬性值。
-e en: 檢索後的值進行編碼。 有效的編碼是 “text”, “hex”, and “base64”. 值編碼作為文本字元串是用雙引號括起來的(“),值編碼作為16進位和64進位,首碼分別為 0x 和 0s。
path:文件或文件夾路徑。

示例:

hadoop fs -getfattr -d /file
hadoop fs -getfattr -R -n user.myAttr /dir

  

(18)-getmerge
作用:是將HDFS上一個目錄中所有的文件合併到一起輸出到一個本地文件上。
用法:hadoop fs -getmerge [-nl] <src> <localdst>

示例:

hadoop fs -getmerge -nl /src /opt/output.txt
hadoop fs -getmerge -nl /src/file1.txt /src/file2.txt /output.txt

  

(19)-help
作用:幫助文檔

用法:hadoop fs -help

(20)-ls
作用:查看文件,與linux下ls命令基本類似。
用法:hadoop fs -ls [-d] [-h] [-R] <args>
選項:
-d:只展示查詢展示目錄;

-h:顯示為人眼更易識別的單位(原來是位元組)。

-R:遞歸展示,顯示所有的文件夾及文件

示例:

hadoop fs -ls -d /
hadoop fs -ls -h /
hadoop fs -ls -R /

  

-lsr
作用:已經被捨去,效果等同於-ls -R

(21)-mkdir
作用:創建文件夾。

用法:hadoop fs -mkdir [-p] <paths>
選項:
-p:創建父目錄。類似於Unix的mkdir -p命令。
示例:

    hadoop fs -mkdir /user/hadoop/dir1 /user/hadoop/dir2
    hadoop fs -mkdir hdfs://nn1.example.com/user/hadoop/dir hdfs://nn2.example.com/user/hadoop/dir

  

(22)-moveFromLocal
用法:hadoop fs -moveFromLocal <localsrc> <dst>
作用:類似於put命令,不同put命令的是,該操作是移動(意思就是localsrc將被刪除)。localsrc應是本地文件。

(23)-moveToLocal
用法:hadoop fs -moveToLocal [-crc] <src> <dst>
作用:該命令尚未實現,顯示“Not implemented yet”。

(24)-mv
用法:移動文件。
作用: hadoop fs -mv URI [URI ...] <dest>
示例:

hadoop fs -mv /user/hadoop/file1 /user/hadoop/file2
hadoop fs -mv hdfs://nn.example.com/file1 hdfs://nn.example.com/file2 hdfs://nn.example.com/file3 hdfs://nn.example.com/dir1

 

(25)-put
用法: hadoop fs -put <localsrc> ... <dst>
作用:將本地的文件上傳(複製)到HDFS是dst目錄下。

示例:

hadoop fs -put localfile /user/hadoop/hadoopfile
hadoop fs -put localfile1 localfile2 /user/hadoop/hadoopdir
hadoop fs -put localfile hdfs://nn.example.com/hadoop/hadoopfile
hadoop fs -put - hdfs://nn.example.com/hadoop/hadoopfile Reads the input from stdin.

  

(26)-rm
用法:hadoop fs -rm [-f] [-r |-R] [-skipTrash] URI [URI ...]
作用:刪除文件。
選項:

The -f option will not display a diagnostic message or modify the exit status to reflect an error if the file does not exist.
The -R option deletes the directory and any content under it recursively.
The -r option is equivalent to -R.
The -skipTrash option will bypass trash, if enabled, and delete the specified file(s) immediately. This can be useful when it is necessary to delete files from an over-quota directory.

示例:

hadoop fs -rm hdfs://nn.example.com/file /user/hadoop/emptydir

(27)-rmdir
用法:hadoop fs -rmdir [--ignore-fail-on-non-empty] URI [URI ...]
作用:刪除空目錄。
選項:
—ignore-fail-on-non-empty:使用它的時候,忽略因文件夾非空刪除失敗的信息。

(28)-rmr
作用:該方法已經被捨去。和-rm -r效果一樣。遞歸刪除。


(29)-setfacl
用法:hadoop fs -setfacl [-R] [-b |-k -m |-x <acl_spec> <path>] |[--set <acl_spec> <path>]
作用:設置訪問控制列表(ACL)的文件和目錄。

選項:

-b:移除所有除了基本的ACL條目。用戶、組和其他的條目被保留為與許可權位的相容性。
-k:刪除預設的ACL。
-R: 遞歸應用於所有文件和目錄的操作。
-m:修改ACL。新的項目添加到ACL,並保留現有的條目。
-x:刪除指定的ACL條目。其他保留ACL條目。
–set:完全替換ACL,丟棄所有現有的條目。acl_spec必須包括用戶,組,和其他有許可權位的相容性。
acl_spec:逗號分隔的ACL條目列表。
path:修改文件或目錄。


示例:

hadoop fs -setfacl -m user:hadoop:rw- /file
hadoop fs -setfacl -x user:hadoop /file
hadoop fs -setfacl -b /file
hadoop fs -setfacl -k /dir
hadoop fs -setfacl --set user::rw-,user:hadoop:rw-,group::r--,other::r-- /file
hadoop fs -setfacl -R -m user:hadoop:r-x /dir
hadoop fs -setfacl -m default:user:hadoop:r-x /dir

  

(30)-setrep
用法:hadoop fs -setrep [-R] [-w] <numReplicas> <path>
作用:改變文件的目標副本繫數,放入REP中。選項-R將遞歸的改變PATH指定的目錄中所有文件的目標副本繫數。副本繫數需要一定的時間才能達到目標值。選項-w將等待副本繫數以與目標值相匹配。

示例:

hadoop fs -setrep -w 3 /user/hadoop/dir1

  

(31)-stat
用法: hadoop fs -stat [format] <path> ...
作用:根據一定格式列印文件/文件夾的統計信息。 文件大小 (%b), 類型 (%F), 所有者所在組 (%g), 名字 (%n), 塊大小 (%o), 副本 (%r), 用戶名(%u), 修改時間 (%y, %Y)。預設的是%y。
示例:
hadoop fs -stat "%F %u:%g %b %y %n" /file

(32)-tail
用法:hadoop fs -tail [-f] URI
作用:輸出文件最後1kb的內容。
選項:
-f:和unix中tail -f命令類似,當文件內容更新時,輸出將會改變,具有實時性。

示例:用一個場景測試下。首先HDFS的/目錄下有文件mpwtest1.txt
命令:hadoop fs -tail -f /mpwtest1.txt
開啟另外一個終端。輸入命令: hadoop fs -appendToFile mpwtest2.txt /mpwtest1.txt
可以發現 視窗1 有變化。

(33)-test

作用:判斷文件信息

用法:hadoop fs -test -[defsz] URI

選項:

-d:如果路徑是一個目錄,返回0
-e:如果路徑已經存在,返回0
-f: 如果路徑是一個文件,返回0
-s:如果路徑不是空,返回0
-z:如果文件長度為0,返回0
URI:資源地址,可以是文件也可以是目錄。

示例:

hadoop fs -test -e filename

(34)-text
用法:hadoop fs -text <src>
作用:將HDFS中文件以文本形式輸出(包括zip包,jar包等形式)
示例:hadoop fs -text /wc.jar


(35)-touchz
用法: hadoop fs -touchz URI [URI ...]
作用:創建一個空文件。
示例:hadoop fs -touchz /hello.jar

(35)-truncate
用法: hadoop fs -truncate [-w] <length> <paths>

作用:截斷指定長度匹配的所有文件內容。

選項:

  • -w:需要等待命令完成塊恢復。如果沒有-w選項,在恢復的過程中可能是未閉合的。
  • length:截斷處的值,如果是100,則表示在100B處截斷。
  • paths:文件地址。

示例:

hadoop fs -truncate 55 /user/hadoop/file1 /user/hadoop/file2
hadoop fs -truncate -w 127 hdfs://nn1.example.com/user/hadoop/file1

(36)-usage
用法: hadoop fs -usage command
作用:返回命令的help信息。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • ANR異常 一、簡介 解決方法:別在主線程中寫非常耗時的操作 二、代碼實例 點擊之後,不停點擊,亂點 出現anr異常 代碼 /anr/src/anr/MainActivity.java 解決方法:別在主線程中寫非常耗時的操作 ...
  • 橫豎屏幕切換生命周期 一、簡介 二、代碼 /activityLifeCycle_3Screen/AndroidManifest.xml 核心代碼:android:configChanges="keyboardHidden|orientation|screenSize" com.fry.activit ...
  • 使用安卓手機真機調試 開發工具:android studio 幾個報錯點 adb找不到報錯 對於新手來說一般都是沒有安裝adb,所以這裡我們需要首先安裝adb來協助手機調試 adb是什麼?全名Andorid Debug Bridg,是一個鏈接開發和手機之間的橋,沒有它是無法通過USB在手機中調試的。 ...
  • 晚上把博客遷了個伺服器,新建用戶的時候遇到問題了。 關於mysql的問題。 前置操作 建了兩個用戶,一個laravel,一個blog用戶以及他們的同名資料庫。 建好之後,命令行下麵連接mysql服務,都能正常登錄,並且也都能連上各自的資料庫。 問題體現 之前laravel用的root賬號,這次建好l ...
  • //按照id降序 並把name是小黑的排在最後SELECT * from dms_student order by name not like '小黑' desc,id desc; //按照id降序 並把name是小黑的排在最前面 去掉desc即可SELECT * from dms_student ...
  • 轉自:http://www.maomao365.com/?p=4534 一、 parsename函數功能簡介parsename函數的主要功能是:可以快速的使用”.”關鍵字分解字元串,並返回.分解後指定部分parsename 函數語法簡介參數:參數1(待分解字元串): nvarchar(128)位字元 ...
  • 1.Oracle 11g下載 官方網址為:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 官網提供了多種系統下安裝包,不過一般大家使用的多為windows系統(其中要註意電腦系統是3 ...
  • 概述 HDFS快照是文件系統的只讀時間點副本。 可以對文件系統的子樹或整個文件系統進行快照。 快照的一些常見用例是數據備份,防止用戶錯誤和災難恢復。HDFS快照的實現是高效的: 快照創建是即時的:成本是O(1),不包括inode查找時間。 僅當對快照進行修改時才使用附加記憶體:記憶體使用為O(M),其中 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...