一、shell命令行的解释说明

命令行界面(CLI):使用户通过键盘输入指令,计算机接受到指令后,予以执行一种人际交互方式。

 

Hadoop提供了文件系统的shell命令行客户端:hadoop fs [ generic options ]

 

文件系统协议:

 1、 HDFS Shell CLI支持操作多种文件系统,包括本地文件系统(file:///)、分布式文件系统(hdfs://nn:8020)等。

2、集体操作的是什么文件系统取决于命令文件路径URL中的前缀协议

3、如果没有指定前缀,则将会读取环境变量中的fs.defaultFS属性,以该属性值作为默认文件系统。

        设置默认使用的文件系统是在core-aite.xml中的:

        

 

 

 

操作本地文件系统:hadoop fs -ls file:///

操作HDFS分布式文件系统:hadoop fs-ls hdfs://master:8020/

直接根目录,没有指定协议,将加载fs.defaultFS值:hadoop fs -ls /

 

 

二、shell命令行的常用操作

 

1、创建文件夹:hadoop fs -mkdir [-p] <path> …

         path 为待创建的目录。

         [-p] 如果父目录不存在会自动创建父目录。

 

2、查看指定目录下内容:hadoop fs -ls [-h] [-R] [<path> …]

           path 指定目录路径。

          -h 人性化显示文件size。

          -R 递归查看指定目录及其子目录。

 

3、上传文件到HDFS指定目录下:hadoop fs -put [-f] [-p] <localsrc> … <dst>

         -f 覆盖目标文件(已存在下)。

         -p 保留访问和修改时间,所有劝和权限。

         localsrc 本地文件系统(客户端所在机器)。

         dst 目标文件系统(HDFS)。

 

4、查看HDFS文件内容:hadoop fs -cat <src> …

       读取指定文件全部内容,显示在标准输出控制台。

       注意:对于大文件内容读取慎重!

 

5、下载HDFS文件:hadoop fs -get [-f] [-p] <src> … <localdst>

      下载文件到本地文件系统指定目录,localdst必须是目录。

      -f 覆盖目标文件(已存在下)。

      -p 保留访问和修改时间,所有权和权限。

             ./ 它代表的是当前目录

 

6、拷贝HDFS文件:hadoop fs -cp [-f] <src> … <dst>

       -f 覆盖目标文件(已存在下)。

 

7、追加数据到HDFS文件中:hadoop fs -appendToFile <localsrc> … <dst>

       将所有给定本地文件的内容追加到给定dst文件。

       dst如果文件不存在,将创建该文件。

       如果<localsrc> 为 – ,则输入为从标准输入中读取。

      应用场景:小文件合并

例子:

 

            先上传一个文件到 / 下,后面再追加

            /1.txt 是在根目录下的

 

8、HDFS数据移动操作:hadoop fs -mv <src> … <dst>

           移动文件到指定文件夹下。

           可以使用该命令移动数据,重命名文件的名称。

版权声明:本文为小王同学学编程原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xiao-wang-tong-xue/p/16022197.html