zoukankan      html  css  js  c++  java
  • hdfs的shell操作

    1.shell的操作命令

      hdfs命令有两种风格:hadoop fs、hdfs dfs

      两种命令均可使用,效果相同。

      1)查看子命令

        hadoop fs、hdfs dfs

        

       2)如果查看hdfs或hadoop子命令信息

        hdfs dfs -help shellCmd

        hadoop fs -help shellCmd

        ex:hdfs dfs -help ls 、hadoop fs -help ls

      3)查看hdfs文件系统中指定目录文件列表。

        hdfs dfs -ls dir

        hadoop fs -ls dir

        hdfs dfs -ls -R dir #递归显示,显示子文件夹中的文件

        ex:hdfs dfs -ls / #显示根目录下的文件以及文件夹

          hadoop fs -ls -R / #显示根目录了下所有文件件以及所有子文件夹中的文件

          hdfs fs -ls file:/// #列出linux根目录下的文件

       4)创建文件

        hdfs dfs -touchz file

        hadoop fs -touchz file

        ex:hdfs dfs -touchz /edits.txt #根目录下创建edits.txt

      5)向hdfs中文件追加内容

        hdfs dfs -appendToFile linuxFile hdfsFile #将本地linuxFile内容追加到Hdfs的hdfsFile中

        hadoop fs -appendToFIle linuxFile hdfsFile

        ex:hadoop dfs -appendToFile edits.xml /edits.txt #本地edits.xml内容追加到hdfs中根目录下的edits.txt

      6)查看hdfs文件内容

        hdfs dfs -cat file

        hadoop fs -cat file

        hdfs dfs -cat /edits.txt 查看根目录下 edits.txt内容

      7)从本地路径上传文件只HDFS

        hdfs dfs -put linux文件 hdfs路径

        hadoop fs -put linux文件 hdfs路径

        hadoop fs -put /abc.txt / #把linux根目录下的abc.txt上传到hdfs根目录下

        hdfs dfs -copyFromLocal linux文件 hdfs路径

        hadoop fs -copyFromLocal linux文件 hdfs路径

        hdfs dfs -copyFromLocal /acb.txt / #跟put一样  把linux根目录下的abc.txt上传到hdfs根目录下

        hdfs dfs -moveFromLocal linux文件 hdfs路径

        hadoop fs -moveFromLocal linux文件 hdfs路径

        hadoop fs -moveFromLocal /abc.txt / #把linux根目录下的abc.txt上传到hdfs根目录下 与put差异是会把linux的文件删除

      8)从文件系统中下载文件

        hdfs dfs -get hdfs文件 linux路径

        hadoop fs -get hdfs文件 linux路径

        hdfs dfs -get /abc.txt / #把hdfs根目录下的abc.txt 下载到linux的根目录下

        hdfs dfs -copyToLocal hdfs文件 linux路径

        hadoop fs -copyToLocal hdfs文件 linux路径

        hadoop fs -copyToLocal /abc.txt / #与-get相同,把hdfs根目录下的abc.txt下载到linux的根目录下

      9)在hdfs中创建文件夹

        hdfs dfs -mkdir 文件夹

        hadoop fs -mkdir 文件夹

        hdfs dfs -mkdir /shell #在hdfs根目录下创建shell文件夹

      10)删除hdfs中的文件

        hdfs dfs -rm 文件

        hadoop fs -rm 文件

        hdfs dfs -rm /abc.txt #删除hdfs根目下的abc.txt

        hadoop fs -rm -r /shell #删除hdfs根目录下的shell文件夹

      11)修改hdfs中文件名称或修改所属目录

        hdfs dfs -mv hdfs目录文件 hdfs目录文件

        hadoop fs -mv hdfs目录文件 hdfs目录文件

        hdfs dfs -mv /abc.txt /abc.txt /abc.md #将hdfs根目录下的abc.txt修改为abc.md

        hadoop fs -mv /abc.md /newdir #将hdfs根目录下的abc.md移动到根目录下的newdir文件夹中 

      12)把hdfs中的文件拷贝到新的目录

        hdfs dfs -cp 目录文件 目录

        hadoop fs -cp 目录文件 目录

        hdfs dfs -cp /abc.txt /shell #hdfs根目下的abc.txt 复制一份到hdfs根目录下的shell中

      13)查找文件

        hdfs dfs -find path 匹配模式 查找内容

        hadoop fs -find path 匹配模式 查找内容

        hdfs dfs -find / -name user #在hdfs的根目录下查找名称是user的文件,name:完全匹配

        hadoop fs -find / -iname us* #在hdfs的根目录下查找名称中带有us的文件,iname:模糊匹配

        

      14)总结:

        a)输入hadoop fs 或 hdfs dfs,回车查看所有的hdfs的HDFS命令

        b)大部分命令和linux命令有很大的相似性,可以举一反三

        c)记得使用help,ex:hadoop fs -help ls,查看ls的使用参数

     2.hdfs与getconf结合使用

      

      1)获取NameNode的节点名称

        hdfs getconf -namenodes

      2)获取hdfs最小快信息

        hdfs getconf -confKey dfs.namenode.fs-limits.min-block-size #也可以获取其他的属性值

      3)查找namenode的RPC地址

        hdfs getconf -nnRpcAddresses

    3.hdfs与dfsadmin结合使用

      

      1)查看hdfs dfsadmin的帮助信息

        hdfs dfsadmin

      2)使用help查看具体命令的帮助

        hdfs dfsadmin -help 命令

        ex:hdfs dfsadmin -help safemode

      3)查看当前模式

        hdfs dfsadmin -safemode get

      4)进入、退出安全模式

        hdfs dfsadmin -safemode enter #进入

        hdfs dfsadmin -safemode leave #退出

    4.hdfs与fsck结合

      

      fsck指令显示HDFS块信息

      hdfs fsck /abc.txt -files -blocks -locations #查看hdfs根目录下abc.txt的块信息

     5.其他命令

      1)检查压缩库本地安装情况

        hadoop checknatice

      2)格式化名称节点(慎用:一般只在初次搭建集群使用一次,格式化话成功后不要在使用,多次格式化可能会导致namenode与datanode的clusterID不一致导致datanode无法启动,需要保持一致)

        hadoop namenode -format

      3)执行自定义jar包

        hadoop jar /kkb/install/hadoop-2.6.0-cdh5.14.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.14.2.jar pi 10 10

        yarn jar /kkb/install/hadoop-2.6.0-cdh5.14.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.14.2.jar pi 10 10

  • 相关阅读:
    【hdu 2222】Keywords Search
    【codeforces 750E】New Year and Old Subsequence
    Bit error testing and training in double data rate (ddr) memory system
    北风网09.接收普通消息2
    北风网08.接收普通消息1
    慕课网消息的接收与响应2
    MyEclipse/eclipse 添加作者、注释、版本、时间等
    北风网开发者接入
    java.lang.Error: Unresolved compilation problem: 解决方案
    北风网环境搭建二
  • 原文地址:https://www.cnblogs.com/dan2/p/12650434.html
Copyright © 2011-2022 走看看