HDFS - Shell命令

mac2022-06-30  8

          HDFS - Shell命令

  最近学习比较忙,本来想做一个搭建集群笔记,今天先记录HDFS-shell命令,明天,最迟明天下午我一定会做一个搭建集群的笔记。。

    介绍一个我的集群搭建:一主三从

      3个虚拟机:

       1. hadoop1:主+从 namenode+datanode+resourceMarager

      2.hadoop2:从+日志记录 datanode+secondarynamenode+datamanager

      3.hadoop3:从 datanode+datamanager

      

  1.启动集群:

   

  2.查看网页运行:

    

    

  1)创建一个文件夹: 

    hadoop  fs -mkdir /in 或者 hadoop fs -mkdir hdfs//hadoop1:8020/out    

     

 

  2) 上传一个文件或者多个

    hadoop fs -put 3 /in 或者 hadoop fs -put * /in(大数据不能修改文件,多个文件上次递归上传)

    

  3)删除文件

    hadoop fs -rm -R /in/*(删除多个,递归删除)

    

  4)多个文件上传

    hadoop fs -put f1.txt log.txt testfiles /in或者hadoop fs- -put *.jpeg *.txt(该目录下所有以*.jpeg和.ext结尾的都上传)

    

  5)查看一个文本

    hadoop fs -cat /in/文件名 或者hadoop fs -cat /in/文件名(文件大时,优先使用text)

     

  6)修改Group所属人

    useradd lich --> passwd lich -->lich-->lich -->hadoop fs -chgrp lich /in/文件名

    

  7)修改所属主Owner

    hadoop fs -chown lich:lich /in/文件名

    

  8)lich删除root所属组的文件:(阻止好人做坏事)

    hadoop -rm /in/log.txt(如果dfs:permissions:true则删除失败)

    

 

   9)更改属性

  hadoop fs -put 文件名 /in/文件名(前文件名:要上传的文件的log.txt文件名,后者:如果里面已经有相同的文件名则改问后者,反之为前者)

   

  10)上传并从命名:

    hadoop fs -copyFromLocal ./log.txt /in/新的文件名     

     

   11)下载一个文件(下载到本地Linux上)

    hadoop fs -get /in/hehe.txt ./或者hadoop fs -copyToLocal /in/hehe.txt ./(如果下载的名字相同则报错)

    

   12)hadoop将目录/in下的hehe.txt复制到/out下

      hadoop fs -cp /in/hehe.txt /out

    

 

   13)查看文件大小

    hadoop fs -du

    

  14)合并下载

    hadoop fs -getmerge /in/* ./biubiu.txt

    

  15)合并上传(hadoop不支持合并上传)

    cat log.txt >> lalal.txt    cat testfile >> lalal.txt     cat f1.txt >>lalaltxt 合并文件

     

 

    hadoop fs -put lalal.txt /in 上传

     

 

  16)查看目录

  hadoop fs -lsr/ 或者hadoop fs ls -R

    

 

  17)保存目录

   hadoop fs -lsr / >7.txt(将目录保存到文件7.txt下)

    

  18)将本地的文件移动到hadoop上

    hadoop fs -moveFromLocal 文件名 /in

  19)将Hadoop上的文件以到hadoop的其他文件下

    hadoop fs -mv /in/文件名  /out/new文件名

    

 

         

   20)递归删除文件

    hadoop fs -rmr /in

    

   21)修改数据热度

    hadoop fs -setrep 5 /in/文件名或者 hadoop fs -setrep 5 -R  /in (递归in下所有文件都改为热度为5) 

    

  22)统计信息

    hadoop fs -stat /in/hehe.txt

    

   23)打开文件的尾部的1000字节

    hadoop  fs -tail /in/hehe.txt

     

   24)测试文件

    -e文件是否存在,是返回0

    -z文件是否为空,是返回0

    -d检查文件是否为目录 是返回1,反之0

       hadoop fs -test -e /in/hehe.txt

   25) 上传一个空的文件(用处不大)

    hadoop fs -touchz /in/_SUCCESS(标识其他文件的结果)

   26)删除后一天之内可以撤销(删除后的文件到了根目录下的user/root/.Trash/Current/你所删除的文件)

     hadoop fs -rmr  /out/*

    

  27)将26删除的拿回来

    hadoop fs -cp /user/root/.Transg/Cuttent/你要的文件

  28)清空回收站

    hadoop fs -expunge

    注意:删除时要超过配置文件中的一天后才能删除,不能立即删除

    

 

 

 

   huhu_k:所有的成功都不是一朝一夕的事情。

    

转载于:https://www.cnblogs.com/meiLinYa/p/9119412.html

最新回复(0)