1. 程式人生 > >指導手冊03:Hadoop基礎操作.md

指導手冊03:Hadoop基礎操作.md

指導手冊03:Hadoop基礎操作

Part 1:檢視Hadoop叢集的基本資訊

1.查詢儲存系統資訊

請檢視自己的Hadoop叢集填寫下表

Configured Capacity:己配置的檔案系統儲存總量
DFS Remaining :可使用的DFS儲存總量
Non DFS Used 被非DFS的應用所佔用的儲存總量
DFS Used:己使用的 DFS儲存總量
Live Nodes: 線上的資料節點:

(2)顯示資料節點資訊

查詢HDFS資訊的命令

Hdfs dfsadmin –report [-live] [-dead] [decommissioning]

report:輸出檔案系統的基本資訊及相關資料統計。

-report -live:輸出檔案系統中線上節點的基本資訊及相關資料統計。

-report -dead:輸出檔案系統中失效節點的基本資訊及相關資料統計。

-report -decommissioning:輸出檔案系統中停用節點的基本資訊及相關資料統計。

例:hdfs dfsadmin –report –live 檢視線上節點的基本資訊,請填寫下表。

節點名(Node) 總儲存空間(capacity) 己使用(DFS Used) DFS沒使用(Non DFS Used) DFS 剩餘(Remaining)

(3)查詢叢集的計算資源資訊

繼續單擊頁面上的超連結“slave1:8042”,可以顯示計算機slave1的各項資源資訊。

Part 2:上傳檔案到HDFS目錄

情景描述:

把儲存在本機中的原始資料檔案email_log.txt上傳到Hadoop叢集中的HDFS目錄/user/root/

1.HDFS的基本操作

在叢集伺服器的終端輸入“hdfs dfs”命令,可以完成對HDFS目錄及檔案的大部分管理操作。

(1) 建立新目錄

hdfs dfs -mkdir [-p] <path> -p:不加只能逐級建立目錄,加了可以多級建立目錄

例:

[[email protected]]#hdfs dfs –mkdir –p /user/dfstest

[[email protected]]#hdfs dfs –mkdir –p /user/test/example

(2) 上傳檔案

命令 解釋
hdfs dfs [-copyFromLocal [-f] [-p] [-l] <localsrc> … <dst>] 將檔案從本地檔案系統拷貝到HDFS檔案系統,主要引數<localsrc>為本地檔案路徑,<dst>為拷貝的目標路徑。
hdfs dfs [-moveFromLocal <localsrc> … <dst>] 將檔案從本地檔案系統移動到HDFS檔案系統,主要引數<localsrc>為本地檔案路徑,<dst>為移動的目標路徑。
hdfs dfs [-put [-f] [-p] [-l] <localsrc> … <dst>] 將檔案從本地檔案系統上傳到HDFS檔案系統,主要引數<localsrc>為本地檔案路徑,<dst>為上傳的目標路徑。

例:

將叢集伺服器節點上的本地檔案a.txt上傳到HDFS目錄/user/dfstest中。(a.txt請自行新建)

[[email protected] hadoop-2.6.4] #hdfs dfs –copyFromLocal a.txt /user/dfstest

[[email protected] hadoop-2.6.4] #hdfs dfs –moveFromLocal a.txt /user/dfstest/b.txt

[[email protected] hadoop-2.6.4] #hdfs dfs –put a.txt /user/dfstest/c.txt

(3) 下載檔案

命令 解釋
hdfs dfs [-copyToLocal [-p] [-ignoreCrc] [-crc] <src>… <localdst>] 將檔案從HDFS檔案系統拷貝到本地檔案系統,主要引數<src>為HDFS檔案系統路徑,<localdst>為本地檔案系統路徑。
hdfs dfs [-get [-p] [-ignoreCrc] [-crc] <src>…<localdst>] 獲取HDFS檔案系統上指定路徑的檔案到本地檔案系統,主要引數<src>為HDFS檔案系統路徑,<localdst>為本地檔案系統路徑。

例:

從/user/dfstest中下載a.txt和c.txt,儲存在叢集伺服器節點master上的本地目錄/data/hdfs_test/中。(hdfs_test目錄請自行建立)

[[email protected] hdfs_test] #hdfs dfs –copyToLocal /user/dfstest/a.txt

[[email protected] hdfs_test] #hdfs dfs get /user/dfstest/c.txt

[[email protected] hdfs_test] # ls

(3) 檢視檔案內容

命令 解釋
hdfs dfs [-cat [-ignoreCrc] <src> …] 檢視HDFS檔案內容,主要引數<src>指示檔案路徑。
hdfs dfs [-tail [-f] <file>] 輸出HDFS檔案最後1024位元組,主要引數<file>指定檔案。

例:

[[email protected] hdfs_test] #hdfs dfs –cat /user/dfstest/a.txt

[[email protected] hdfs_test] #hdfs dfs –tail /user/dfstest/c.txt

(4) 刪除檔案或目錄

命令 解釋
hdfs dfs [-rm [-f] [-r|-R] [-skipTrash] <src> …] 刪除HDFS上的檔案,主要引數-r用於遞迴刪除,<src>指定刪除檔案的路徑。
hdfs dfs [-rmdir [–ignore-fail-on-non-empty] <dir> …] 如果刪除的是一個目錄,則可以用該方法,主要引數<dir>指定目錄路徑。

例:

[[email protected] hdfs_test] #hdfs dfs –mkdir /user/dfstest/rmdir

[[email protected] hdfs_test] #hdfs dfs –rm /user/dfstest/c.txt

[[email protected] hdfs_test] #hdfs dfs –rmdir /user/dfstest/rmdir

2.上傳檔案到HDFS

(1)把本地計算機硬碟中的資料檔案email_log.txt傳輸到叢集伺服器(master)的本地目錄/root/hadoop。

可以使用SSH Secure等工具上傳。

(2)在叢集伺服器(master)的終端執行HDFS命令,上傳email_log.txt到HDFS目錄/user/root/

Hdfs dfs -put /root/hadoop/email_log.txt /user/root/

3、實驗結果分析與總結

(注:必須寫,這裡填寫你的實驗達到的預期效果,是否按時完成,遇到哪些問題?如何解決的?還需要學習和提高的地方?下一步的計劃和打算?)