HDFS - Shell命令

        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文件名

    

         

    

猜你喜欢

转载自www.cnblogs.com/meiLinYa/p/9119412.html
今日推荐