1. 程式人生 > >Hadoop hdfs常用命令

Hadoop hdfs常用命令

以下是2.6版本以後的命令

1. 檔案操作

(1) 列出HDFS下的檔案

 hdfs dfs -ls

(2) 列出HDFS檔案下名為in的文件中的檔案

hdfs dfs -ls in

(3) 上傳檔案

將當前目錄下的test1檔案上傳到HDFS上並重命名為test:

hdfs dfs -put test1 test

(4) 檔案被複制到本地系統中

將HDFS中的in檔案複製到本地系統並命名為getin:

hdfs dfs -get in getin

(5) 刪除文件

刪除HDFS下名為out的文件:

/usr/local/hadoop$bin/hadoop dfs -rmr out

(6) 檢視檔案

檢視HDFS下in檔案中的內容:

/usr/local/hadoop$bin/hadoop dfs -cat in/*

(7) 建立目錄

/usr/local/hadoop$bin/hadoop dfs -mkdir /user/hadoop/examples(目錄/目錄名)

只能一級一級的建目錄。

(8) 複製檔案

/usr/local/hadoop$bin/hadoop dfs -copyFromLocal 源路徑 路徑

(9)通過Hadoop命令把兩個檔案的內容合併起來

hdfs dfs -getmerge 位於hdfs中的原檔案(裡面有多個檔案) 合併後的檔名
例如:
hdfs dfs -getmerge hdfs://Master:9000/data/SogouResult.txt CombinedResult

 注:合併後的檔案位於當前目錄,不在hdfs中,是本地檔案

2. 管理與更新

(1) 執行基本資訊

檢視HDFS的基本統計資訊:

/usr/local/hadoop$bin/hadoop dfsadmin -report

(2) 退出安全模式

NameNode在啟動時會自動進入安全模式。安全模式是NameNode的一種狀態,在這個階段,檔案系統不允許有任何修改。

系統顯示Name node in safe mode,說明系統正處於安全模式,這時只需要等待十幾秒即可,也可通過下面的命令退出安全模式:

/usr/local/hadoop$bin/hadoop dfsadmin -safemode leave

(3) 進入安全模式

在必要情況下,可以通過以下命令把HDFS置於安全模式:

/usr/local/hadoop$bin/hadoop dfsadmin -safemode enter

(4)節點新增

新增一個新的DataNode節點,先在新加節點上安裝好Hadoop,要和NameNode使用相同的配置(可以直接從NameNode複製),修改$HADOOP_HOME/conf/master檔案,加入NameNode主機名。然後在NameNode節點上修改$HADOOP_HOME/conf/slaves檔案,加入新節點名,再建立新加節點無密碼的SSH連線,執行啟動命令為:

/usr/local/hadoop$bin/start-all.sh

(5)負載均衡

HDFS的資料在各個DataNode中的分佈可能很不均勻,尤其是在DataNode節點出現故障或新增DataNode節點時。新增資料塊時NameNode對DataNode節點的選擇策略也有可能導致資料塊分佈不均勻。使用者可以使用命令重新平衡DataNode上的資料塊的分佈:

/usr/local/hadoop$bin/start-balancer.sh