久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

        手機(jī)站
        千鋒教育

        千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

        千鋒教育

        掃一掃進(jìn)入千鋒手機(jī)站

        領(lǐng)取全套視頻
        千鋒教育

        關(guān)注千鋒學(xué)習(xí)站小程序
        隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

        當(dāng)前位置:首頁  >  技術(shù)干貨  > HDFS的常用shell命令詳解

        HDFS的常用shell命令詳解

        來源:千鋒教育
        發(fā)布人:qyf
        時(shí)間: 2023-02-27 17:20:00 1677489600

        HDFS的常用shell命令詳解

          注意:訪問hdfs系統(tǒng)的指令

          hadoop dfs --- 已過時(shí)

          hadoop fs -- 使用范圍更大

          hdfs dfs --范圍相對(duì)較小

          hadoop fs 和 hdfs dfs之間沒有太大的區(qū)別

          1. 在命令行中輸入hdfs,回車后,就會(huì)提示hdfs后可以使用哪些命令,其中有一個(gè)是dfs。

          2. 在命令行中輸入hdfs dfs,回車后,就會(huì)提示dfs后可以添加的一些常用shell命令

          常用shell命令

          注意:分布式文件系統(tǒng)的路徑在命令行中 要從/開始寫,即絕對(duì)路徑

          1. 創(chuàng)建目錄

          [-mkdir [-p]...]#在分布式文件系統(tǒng)上創(chuàng)建目錄 -p,多層級(jí)創(chuàng)建

          調(diào)用格式:hdfs dfs -mkdir(-p) /目錄

          2. 上傳指令

          [-put [-f] [-p] [-l]...] #將本地文件系統(tǒng)的文件上傳到分布式文件系統(tǒng)

          調(diào)用格式:hdfs dfs -put/本地文件 /hadoop

          注意:

          1)/hadoop是hdfs上面的路徑的減縮版,全稱是:hdfs://namenode的名字:分布式文件系統(tǒng)的端口號(hào)/hadoop 例如:hdfs://master:9000/hadoop

          2)hadoop作為文件,在操作之前是可以不存在的.

          [-moveFromLocal...]#將本地文件系統(tǒng)的文件上傳到分布式文件系統(tǒng)

          調(diào)用格式:同put

          注意:這里是將本地文件剪切到分布式文件系統(tǒng)

          [-copyFromLocal [-f] [-p] [-l]...]

          調(diào)用格式:同put

          注意:這里是將本地文件拷貝到分布式文件系統(tǒng)

          3. 查看指令

          [-ls [-d] [-h] [-R] [...]]#查看分布式文件系統(tǒng)的目錄里內(nèi)容

          調(diào)用格式:hdfs dfs -ls/

          [-cat [-ignoreCrc]...] #查看分布式文件系統(tǒng)的文件內(nèi)容

          調(diào)用格式:hdfs dfs -cat/xxx.txt

          [-tail [-f]]#查看分布式文件系統(tǒng)的文件內(nèi)容

          調(diào)用格式:hdfs dfs -tail/xxx.txt

          注意:默認(rèn)最多查看1000行

          4. 下載指令

          [-copyToLocal [-p] [-ignoreCrc] [-crc]...]

          調(diào)用格式:hdfs dfs -copyToLocal/hdfs上的路徑 /本地路徑 例如:hdfs dfs -copyToLocal/hadoop /root/hadooptest

          注意:

          1)本地路徑的文件夾可以不存在

          2)這里是將hadoop整體拷貝到線下路徑中

          [-moveToLocal]

          注意:從hdfs的某個(gè)路徑將數(shù)據(jù)剪切到本地,已經(jīng)被遺棄了.不能使用.

          [-get [-p] [-ignoreCrc] [-crc]...]

          調(diào)用格式:同copyToLocal

          5. 刪除指令

          [-rm [-f] [-r|-R] [-skipTrash]...]

          調(diào)用格式:hdfs dfs -rm-r/hadoop

          注意:如果刪除文件夾需要加-r

          [-rmdir [--ignore-fail-on-non-empty]

        ...]

          調(diào)用格式:hdfs dfs -rmdir/hadoop

          注意:hadoop必須是空文件夾,如果非空必須使用rm刪除

          6. 查看磁盤利用率和文件大小

          [-df [-h] [...]] 查看分布式系統(tǒng)的磁盤使用情況

          調(diào)用格式:hdfs dfs -df/

          [-du [-s] [-h]...]#查看分布式系統(tǒng)上當(dāng)前路徑下文件的情況-h:human 以人類可讀的方式顯示

          調(diào)用格式:hdfs dfs -du/hadoop

          7. 向分布式文件系統(tǒng)中的文件里追加內(nèi)容

          [-appendToFile...]

          調(diào)用格式:hdfs dfs -appendToFile本地文件 hdfs上的文件

          注意:不支持在中間隨意增刪改操作

          8. 修改權(quán)限的,跟本地的操作一致,-R是讓子目錄或文件也進(jìn)行相應(yīng)的修改

          [-chgrp [-R] GROUP PATH...]

          [-chmod [-R] <mode[,mode]... octalmode="" |="">PATH...]

          [-chown [-R] [OWNER][:[GROUP]] PATH...]

          9. 修改文件的副本數(shù)

          [-setrep [-R] [-w]...]

          調(diào)用格式:hadoop fs -setrep 3/ 將hdfs根目錄及子目錄下的內(nèi)容設(shè)置成3個(gè)副本

          注意:當(dāng)設(shè)置的副本數(shù)量與初始化時(shí)默認(rèn)的副本數(shù)量不一致時(shí),集群會(huì)作出反應(yīng),比原來多了會(huì)自動(dòng)進(jìn)行復(fù)制.

          10. 查看文件的狀態(tài)

          hdfs dfs [generic options] -stat[format]...

          命令的作用:當(dāng)向hdfs上寫文件時(shí),可以通過dfs.blocksize配置項(xiàng)來設(shè)置文件的block的大小。這就導(dǎo)致了hdfs上的不同的文件block的大小是不相同的。有時(shí)候想知道hdfs上某個(gè)文件的block大小,可以預(yù)先估算一下計(jì)算的task的個(gè)數(shù)。stat的意義:可以查看文件的一些屬性。

          調(diào)用格式:hdfs dfs -stat[format] 文件路徑

          format的形式:

          %b:打印文件的大小(目錄大小為0)

          %n:打印文件名

          %o:打印block的size

          %r:打印副本數(shù)

          %y:utc時(shí)間 yyyy-MM-dd HH:mm:ss

          %Y:打印自1970年1月1日以來的utc的微秒數(shù)

          %F:目錄打印directory,文件打印regular file

          注意:

          1)當(dāng)使用-stat命令但不指定format時(shí),只打印創(chuàng)建時(shí)間,相當(dāng)于%y

          2)-stat 后面只跟目錄,%r,%o等打印的都是0,只有文件才有副本和大小

          11. 測(cè)試

          hdfs dfs [generic options] -test-[defsz]

          參數(shù)說明: -e:文件是否存在 存在返回0 -z:文件是否為空 為空返回0 -d:是否是路徑(目錄) ,是返回0

          調(diào)用格式:hdfs dfs -test-d文件

          實(shí)例:hdfs dfs -test-d/shelldata/111.txt && echo"OK"|| echo"no"

          解釋:測(cè)試當(dāng)前的內(nèi)容是否是文件夾 ,如果是返回ok,如果不是返回no

          12. 創(chuàng)建空文件

          hdfs dfs [generic options] -touchz...

          調(diào)用格式:hdfs dfs touchz /hadooptest.txt

          13. 顯示當(dāng)前文件夾及子文件夾的數(shù)量 子文件的數(shù)量以及 總大小

          hdfs dfs [generic options] -count[-q] [-h]...

          調(diào)用格式:hdfs dfs -count /hadoop

          14. 合并下載

          hdfs dfs [generic options] -getmerge[-nl]

          調(diào)用格式:hdfs dfs -getmergehdfs上面的路徑 本地的路徑

          實(shí)例:hdfs dfs -getmergo/hadoopdata/*.xml /root/test.test

          15. 移動(dòng)hdfs中的文件(更名)

          hdfs dfds [generic options] -mv...

          調(diào)用格式:hdfs dfs -mv/hdfs的路徑1 /hdfs的另一個(gè)路徑2

          實(shí)例:hfds dfs -mv/aaa /bbb 這里是將aaa整體移動(dòng)到bbb中

          16. 復(fù)制hdfs中的文件到hdfs的另一個(gè)目錄

          hdfs dfs [generic options] -cp[-f] [-p | -p[topax]]...

          調(diào)用格式:hdfs dfs -cp/hdfs路徑_1 /hdfs路徑_2

          17.設(shè)置Hadoop回收站trash: 當(dāng)我們不小心刪掉文件時(shí),還有后悔藥吃.

          17.1 修改conf/core-site.xml文件

          注意:我們需要在namenode和datanode同時(shí)設(shè)置垃圾回收,如果namenode可以使用,

          datanode 的無效,如果namenode的失效了,會(huì)自動(dòng)調(diào)用datanode的設(shè)置

        <property>
        <name>fs.trash.interval</name>
        <!-- 1440分鐘后檢查點(diǎn)會(huì)被清除,如果為0,垃圾回收站不會(huì)啟用. -->
        <value>1440</value>
        </property>
        <property>
        <name>fs.trash.checkpoint.interval</name>
        <value>0</value>
        </property>

          解釋:

          一:檢查點(diǎn):

          執(zhí)行下面的語句后出現(xiàn)的.Trash/190907043825就是檢查點(diǎn)

          [root@master sbin]# hadoop fs -ls /user/root/.Trash/

          19/09/07 05:15:42 WARN util.NativeCodeLoader: Unable to load native-hadoop library foryour platform... using builtin-java classes where applicable

          Found 2items

          drwx------ -root supergroup 02019-09-0704:36 /user/root/.Trash/190907043825

          drwx------ -root supergroup 02019-09-0705:15 /user/root/.Trash/Current

          二:fs.trash.interval

          分鐘數(shù),當(dāng)超過這個(gè)分鐘數(shù)后檢查點(diǎn)會(huì)被刪除。如果為零,回收站功能將被禁用。默認(rèn)是0.單位分鐘。這里我設(shè)置的是1天(60*24)

          刪除數(shù)據(jù)rm后,會(huì)將數(shù)據(jù)move到當(dāng)前文件夾下的.Trash/current目錄

          三:fs.trash.checkpoint.interval

          檢查點(diǎn)創(chuàng)建的時(shí)間間隔(單位為分鐘)。其值應(yīng)該小于或等于fs.trash.interval。如果為零,則將該值設(shè)置為fs.trash.interval的值。

          四:刪除過程分析

          這里的Deletion interval表示檢查點(diǎn)刪除時(shí)間間隔(單位為分鐘)

          這里的Emptier interval表示在運(yùn)行線程來管理檢查點(diǎn)之前,NameNode需要等待多長時(shí)間(以分鐘為單位),即檢查點(diǎn)創(chuàng)建時(shí)間間隔.NameNode刪除超過fs.trash.interval的檢查點(diǎn),并為/user/${username}/.Trash/Current創(chuàng)建一個(gè)新的檢查點(diǎn)。該頻率由fs.trash.checkpoint.interval的值確定,且不得大于Deletion interval。這確保了在emptier窗口內(nèi)回收站中有一個(gè)或多個(gè)檢查點(diǎn)。

          [root@master sbin]# hadoop fs -rm -r /hadoop4.txt

          19/09/07 05:15:24 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval =1440minutes, Emptier interval =0minutes.

          Moved: 'hdfs://master:9000/hadoop4.txt'to trash at: hdfs://master:9000/user/root/.Trash/Current

          例如:

          fs.trash.interval =120(deletion interval =2hours)

          fs.trash.checkpoint.interval =60(emptier interval =1hour)

          說明:

          這導(dǎo)致NameNode為Current目錄下的垃圾文件每小時(shí)創(chuàng)建一個(gè)新的檢查點(diǎn),并刪除已經(jīng)存在超過2個(gè)小時(shí)的檢查點(diǎn)。

          在回收站生命周期結(jié)束后,NameNode從HDFS命名空間中刪除該文件。刪除文件會(huì)導(dǎo)致與文件關(guān)聯(lián)的塊被釋放。請(qǐng)注意,用戶刪除文件的時(shí)間與HDFS中相應(yīng)增加可用空間的時(shí)間之間可能存在明顯的時(shí)間延遲,即用戶刪除文件,HDFS可用空間不會(huì)立馬增加,中間有一定的延遲。

          五:expunge 清空回收站

          要想使用這個(gè)命令,首先得有回收站,即fs.trash.interval的值不能為0

          當(dāng)我們執(zhí)行expunge命令時(shí),其實(shí)是會(huì)立刻創(chuàng)建一個(gè)新的檢查點(diǎn),并將/.Trash/Current中的內(nèi)容立刻放入這個(gè)檢查點(diǎn).

          實(shí)例: [root@master sbin]# hadoop fs -expunge

          19/09/07 05:15:58 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval =1440minutes, Emptier interval =0minutes.

          19/09/07 05:15:58 INFO fs.TrashPolicyDefault: Created trash checkpoint: /user/root/.Trash/190907051558

          

          六:如果想繞過垃圾回收站并立即從文件系統(tǒng)中刪除文件??梢詧?zhí)行 hadoop fs -rm-skipTrash

          [root@master sbin]# hadoop fs -rm -skipTrash /hadoop111.txt

          19/09/07 05:50:13 WARN util.NativeCodeLoader: Unable to load native-hadoop library foryour platform... using builtin-java classes where applicable

          Deleted /hadoop111.txt

          17.2.測(cè)試

          1)新建目錄input

          [root@master:/data/soft]# hadoop fs -mkdir /input

          2)上傳文件

          [root@master:/data/soft]# hadoop fs -copyFromLocal /data/soft/file0* /input

          3)刪除目錄input

          [root@master data]# hadoop fs -rmr /input

          Moved to trash: hdfs://master:9000/user/root/input

          4)參看當(dāng)前目錄

          [root@master data]# hadoop fs -ls

          Found 2items

          drwxr-xr-x -root supergroup 02011-02-1222:17 /user/root/.Trash

          發(fā)現(xiàn)input刪除,多了一個(gè)目錄.Trash

          5)恢復(fù)剛剛刪除的目錄

          [root@master data]# hadoop fs -mv /user/root/.Trash/Current/user/root/input /user/root/input

          6)檢查恢復(fù)的數(shù)據(jù)

          [root@master data]# hadoop fs -ls input

          Found 2items

          -rw-r--r--3root supergroup 222011-02-1217:40 /user/root/input/file01

          -rw-r--r--3root supergroup 282011-02-1217:40 /user/root/input/file02

          7)刪除.Trash目錄(清理垃圾)

          [root@master data]# hadoop fs -rmr .Trash

          Deleted hdfs://master:9000/user/root/.Trash

        tags:
        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
        請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
        免費(fèi)領(lǐng)取
        今日已有369人領(lǐng)取成功
        劉同學(xué) 138****2860 剛剛成功領(lǐng)取
        王同學(xué) 131****2015 剛剛成功領(lǐng)取
        張同學(xué) 133****4652 剛剛成功領(lǐng)取
        李同學(xué) 135****8607 剛剛成功領(lǐng)取
        楊同學(xué) 132****5667 剛剛成功領(lǐng)取
        岳同學(xué) 134****6652 剛剛成功領(lǐng)取
        梁同學(xué) 157****2950 剛剛成功領(lǐng)取
        劉同學(xué) 189****1015 剛剛成功領(lǐng)取
        張同學(xué) 155****4678 剛剛成功領(lǐng)取
        鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
        董同學(xué) 138****2867 剛剛成功領(lǐng)取
        周同學(xué) 136****3602 剛剛成功領(lǐng)取
        相關(guān)推薦HOT
        python字符串截???

        在Python中,字符串是一種非常常見的數(shù)據(jù)類型,它可以用來表示文本、數(shù)字、符號(hào)等內(nèi)容。在實(shí)際應(yīng)用中,我們經(jīng)常需要對(duì)字符串進(jìn)行截取,以便獲取...詳情>>

        2023-11-02 17:56:27
        Python socket C/S結(jié)構(gòu)的聊天室應(yīng)用實(shí)現(xiàn)?

        隨著互聯(lián)網(wǎng)的發(fā)展,聊天室應(yīng)用成為人們?nèi)粘I钪惺殖R姷囊环N社交方式。Python語言的Socket模塊是實(shí)現(xiàn)網(wǎng)絡(luò)通信的重要工具,可以輕松地實(shí)現(xiàn)C/...詳情>>

        2023-11-02 17:53:38
        用while求1到100的奇數(shù)和?

        在計(jì)算機(jī)編程中,循環(huán)語句是非常重要的一部分。而while語句是其中最基本也是最常用的一種。它的作用是在滿足一定條件的情況下,重復(fù)執(zhí)行一段代...詳情>>

        2023-11-02 17:50:57
        python創(chuàng)建一個(gè)集合?

        在Python中,集合是一種無序且不重復(fù)的數(shù)據(jù)類型,可以用于存儲(chǔ)一組元素。創(chuàng)建一個(gè)集合非常簡單,只需要使用大括號(hào){}或者set()函數(shù)即可。使用大...詳情>>

        2023-11-02 17:34:02
        linux改文件屬主命令?

        Linux文件相關(guān)命令1、命令一:cat cat命令應(yīng)該是在Linux中查看文件內(nèi)容最常見的命令了。使用cat命令會(huì)打印指定文件的所有內(nèi)容到標(biāo)準(zhǔn)輸出上,比...詳情>>

        2023-10-31 19:58:15
        新邵县| 南木林县| 德阳市| 甘孜| 麻城市| 莆田市| 和田市| 鄯善县| 浦东新区| 上栗县| 随州市| 新乐市| 原平市| 乳山市| 宁城县| 青冈县| 张家界市| 图片| 海安县| 柳江县| 卓尼县| 彰化市| 桓仁| 正安县| 彭阳县| 永泰县| 永清县| 宜昌市| 渝北区| 柘荣县| 泾川县| 奉贤区| 奉化市| 洪湖市| 石台县| 嵊州市| 宝坻区| 宁城县| 丰顺县| 张家界市| 通榆县|