HDFS的 /路徑介紹+2客戶端命令工具+3命令+4mapreduce單詞解析
/路徑介紹
對應路徑
/home/hadoop/apps/hadoop-2.6.4/tmp/dfs/data/current/BP-271701141-192.168.232.128-1546395882610/current/finalized
對應配置
2客戶端命令工具
目錄
/home/hadoop/apps/hadoop-2.6.4/bin
3命令
put
功能:等同於copyFromLocal
示例:hadoop fs -put a.txt /
[[email protected] ~]# echo aabbccdd >a.txt
[[email protected] ~]# hadoop fs -put a.txt /
-ls
功能:顯示目錄資訊
示例: hadoop fs -ls hdfs://mini-yum:9000/
備註:這些引數中,所有的hdfs路徑都可以簡寫
-->hadoop fs -ls / 等同於上一條命令的效果
[[email protected] ~]# hadoop fs -ls hdfs://mini-yum:9000/
Found 1 items
-rw-r--r-- 2 root supergroup 9 2019-01-06 20:33 hdfs://mini-yum:9000/a.txt
[[email protected] ~]# hadoop fs -ls /
Found 1 items
-rw-r--r-- 2 root supergroup 9 2019-01-06 20:33 /a.txt
擴充套件:檔案具體存在哪?(我配置的副本是2,應該有2個datanode有儲存)
本身儲存的(mini4操作的)
副本的
.meta是資料描述
blk_1073741825是什麼呢?
其實裡面就是我們儲存的資料(因為沒有128M,所以沒切)
[[email protected] subdir0]# cat blk_1073741825
aabbccdd
為了試驗,我們put 一個大於128M的檔案
檢視檔案怎麼被切的(檔案操作128M就被拆分,如下圖,所以如果我們把下面2個檔案加起來就是一個完整的檔案)
那麼對應副本又是哪樣呢(儲存mini4的副本)
-cat
功能:顯示檔案內容
示例:hadoop fs -cat /a.txt
[[email protected] ~]# hadoop fs -cat /a.txt
aabbccdd
-mkdir
功能:在hdfs上建立目錄
示例:hadoop fs -mkdir -p /aaa
-moveFromLocal
功能:從本地剪下貼上到hdfs
示例:hadoop fs -moveFromLocal t1 /aaa
[[email protected] ~]# hadoop fs -moveFromLocal t1 /aaa
-moveToLocal
功能:從hdfs剪下貼上到本地
示例:hadoop fs - moveToLocal /aaa/t1 /test
可能會出現下面錯誤(好像是低版本的bug)
[[email protected] hadoop]# hadoop fs -moveToLocal /aaa /home/hadoop
moveToLocal: Option '-moveToLocal' is not implemented yet.
--appendToFile
功能:追加一個檔案到已經存在的檔案末尾
示例:hadoop fs -appendToFile ./b.txt hdfs://mini-yum:9000/a.txt
可以簡寫為:
hadoop fs -appendToFile ./b.txt /a.txt
[[email protected] hadoop]# hadoop fs -appendToFile ./b.txt /a.txt
[[email protected] hadoop]# hadoop fs -cat /a.txt
aabbccdd
this is b file
[[email protected] hadoop]#
-tail
功能:顯示一個檔案的末尾
示例:hadoop fs -tail /a.txt
[[email protected] hadoop]# hadoop fs -tail /a.txt
aabbccdd
this is b file
-text
功能:以字元形式列印一個檔案的內容
示例:hadoop fs -text /a.txt
[[email protected] hadoop]# hadoop fs -text /a.txt
aabbccdd
this is b file
-chgrp
-chmod
-chown
功能:linux檔案系統中的用法一樣,對檔案所屬許可權
示例:
hadoop fs -chmod 777 /a.txt
[[email protected] hadoop]# hadoop fs -chmod 777 /a.txt
-copyFromLocal
功能:從本地檔案系統中拷貝檔案到hdfs路徑去
示例:hadoop fs -copyFromLocal b.txt /aaa
[[email protected] hadoop]# hadoop fs -copyFromLocal b.txt /aaa
-copyToLocal
功能:從hdfs拷貝到本地
示例:hadoop fs -copyToLocal /aaa/t1
[[email protected] hadoop]# hadoop fs -copyToLocal /aaa/t1
[[email protected] hadoop]# ll
總用量 52
drwxr-xr-x. 3 root root 4096 1月 2 10:23 apps
-rw-r--r--. 1 root root 15 1月 4 11:10 b.txt
-rw-r--r--. 1 root root 6 1月 4 11:19 t1
drwxr-xr-x. 12 hadoop hadoop 4096 12月 5 09:08 zookeeper
-rw-rw-r--. 1 hadoop hadoop 31049 12月 7 08:27 zookeeper.out
下面的命令我就沒有操作了
-cp
功能:從hdfs的一個路徑拷貝hdfs的另一個路徑
示例: hadoop fs -cp /aaa/jdk.tar.gz /bbb/jdk.tar.gz.2
-mv
功能:在hdfs目錄中移動檔案
示例: hadoop fs -mv /aaa/jdk.tar.gz /
-get
功能:等同於copyToLocal,就是從hdfs下載檔案到本地
示例:hadoop fs -get /aaa/jdk.tar.gz
-getmerge
功能:合併下載多個檔案
示例:比如hdfs的目錄 /aaa/下有多個檔案:log.1, log.2,log.3,...
hadoop fs -getmerge /aaa/log.* ./log.sum
-rm
功能:刪除檔案或資料夾
示例:hadoop fs -rm -r /aaa/bbb/
-rmdir
功能:刪除空目錄
示例:hadoop fs -rmdir /aaa/bbb/ccc
-df
功能:統計檔案系統的可用空間資訊
示例:hadoop fs -df -h /
-du
功能:統計資料夾的大小資訊
示例:
hadoop fs -du -s -h /aaa/*
-count
功能:統計一個指定目錄下的檔案節點數量
示例:hadoop fs -count /aaa/
-setrep
功能:設定hdfs中檔案的副本數量
示例:hadoop fs -setrep 3 /aaa/jdk.tar.gz
<這裡設定的副本數只是記錄在namenode的元資料中,是否真的會有這麼多副本,還得看datanode的數量>
4mapreduce單詞解析
[[email protected] ~]# cd /home/hadoop/apps/hadoop-2.6.4/share/hadoop/mapreduce
[[email protected] mapreduce]# hadoop jar hadoop-mapreduce-examples-2.6.4.jar wordcount /a.txt /a_out.txt
報錯
原因是YARN沒啟動
啟動後就沒問題了
[[email protected] mapreduce]# start-yarn.sh
重新執行命令(正常截圖)
測試結果(資料有點少)
[[email protected] mapreduce]# hadoop fs -ls /a_out.txt
Found 2 items
-rw-r--r-- 2 root supergroup 0 2019-01-06 21:23 /a_out.txt/_SUCCESS
-rw-r--r-- 2 root supergroup 11 2019-01-06 21:23 /a_out.txt/part-r-0000[[email protected] mapreduce]# hadoop fs -cat /a_out.txt/part-r-00000
aabbccdd 1
寫一個很多資料的再測試
[[email protected] mapreduce]# hadoop fs -ls /b_out
Found 2 items
-rw-r--r-- 2 root supergroup 0 2019-01-06 21:39 /b_out/_SUCCESS
-rw-r--r-- 2 root supergroup 49 2019-01-06 21:39 /b_out/part-r-00000
[[email protected] mapreduce]# hadoop fs -cat /b_out/part-r-00000
aa 2
aabbccdd 1
bb 2
lisi 1
wangwu 1
zhangshan 1