HDFS指令和cloudera manager網頁管理介面筆記(二)_MapReduce莎士比亞txt檔案分析實作
從起初尚未上傳莎士比亞 txt檔案
執行HDFS指令上傳莎士比亞 txt檔案
hdfs dfs -put /home/cloudera/shakespeare.txt
如果不指定hdfs端目錄,則使用家目錄
顯示/user/cloudera/shakespeare.txt由那些hdfs區塊組成
檢查shakespeare.txt的區塊個數
用指令
hdfs fsck -blocks -files /user/cloudera/shakespeare.txt
hdfs fsck /user/cloudera/shakespeare.txt -files -blocks
使用Cloudera Manager -> HDFS -> NameNode WebUI
WordCout範例
(運行前要確保要被計數的檔案必須存在於HDFS,輸出目錄不能事先存在於HDFS。)
ls -l /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar
yarn jar /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar
hdfs dfs -ls /user/cloudera/wordcount_output/
- 來源檔案(位在HDFS,必須已經存在) wordcount的輸出目錄(位在HDFS,但不能已經存在)
- wordcount_output此檔案位於執行yarn所在機器,不需要事先上傳到HDFS,運行時由resource manager將程式碼傳送到所有執行此操作的Yarn Container中
yarn jar /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar wordcount /user/cloudera/shakespeare.txt /user/cloudera/wordcount_output/
/user/cloudera/wordcount_output/part-r-00001 --檔案個數表示reduce階段有幾個reducer
檢視執行結果
hdfs dfs -tail /user/cloudera/wordcount_output/part-r-00001
使用getmerge選項將HDFS目錄的內容變成一個檔案後下載到本地端
hdfs dfs -getmerge wordcount_output shakespeare_wordcount.csv
head shakespeare_wordcount.csv
刪除目錄指令
是不是都只能用預設128M block size呢?
默認捨麼參數都不打情況下確實都是128MB,若想更改可透過指令參數-D去指定
從client端指定HDFS區塊大小(-D dfs.block.size=1M)
hdfs dfs -D dfs.block.size=1M -put /home/cloudera/shakespeare.txt /user/cloudera/shakespeare_1M.txt
hdfs dfs -ls
在 HDFS 中,檔案被切分成區塊(block)來儲存,每個區塊的大小取決於 HDFS 的區塊大小設定。當檔案超過區塊大小時,HDFS 會自動將檔案分割成多個區塊,每個區塊的大小等於設定的區塊大小,最後一個區塊會儲存檔案剩下的資料。
因此:
5.18 MB 檔案在 1 MB 的區塊大小下,會被分成 6 個區塊。
前 5 個區塊:每個區塊大小為 1 MB。
第 6 個區塊:儲存剩下的 0.18 MB(約 190 KB)。
顯示HDFS檔案的區塊數量指令
hdfs fsck /user/cloudera/shakespeare_1M.txt -files -blocks
查看檔案在 HDFS 中的區塊分佈情況
會列出每個區塊的大小、分佈位置等詳細資訊,進一步確認檔案被切分的狀況。
hdfs fsck /user/cloudera/shakespeare_1M.txt -blocks -locations
此時會發現有6個split,也會感覺跑比較久。
yarn jar /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar wordcount /user/cloudera/shakespeare_1M.txt /user/cloudera/wordcount_output/
若跑去cloudera的web ui查看
Clusers -> YARN -> Applications
若中途ctrl + c是不會中斷process執行的,只是停掉client終端顯示更新而已
可以用指令
yarn application -list
陳列出運行中的任務數和進度
Q1.Which of the following is a feature of Hadoop Distributed File System (HDFS)?
Can store up to megabytes of data
If one machine crashes, the data needs to be rebuilt again
Needs permissions to move across multiple platforms
(O)One cluster can be scaled into hundreds of nodes
解析:
HDFS is scalable, that is, one cluster can be scaled into hundreds of nodes.
Q2.What is Yet Another Resource Navigator (YARN)?
Storage layer in Hadoop
(O)Resource Manager
Data processing framework
Data migration tool
解析:
Yet Another Resource Negotiator (YARN) is the resource management layer in Hadoop, responsible
for managing and allocating resources to applications running on a Hadoop cluster.
留言
張貼留言