Hadoop_HDFS:Shell操作之文件的管理(上传下载删除等)

Posted 川川菜鸟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop_HDFS:Shell操作之文件的管理(上传下载删除等)相关的知识,希望对你有一定的参考价值。

文章目录


基本语法
hadoop fs 具体命令 和hdfs dfs 具体命令,两个是完全相同的。

一、命令查看

查看所有命令,相当于help:

cd bin/
hadoop fs

如下:

再看下这个命令

hdfs dfs

如下:

可见一样的。

二、实操

2.1 前提

前提是启动了集群,执行脚本即可:

myhadoop.sh start

也或者分别再102和104执行:

start-dfs.sh
start-yarn.sh

这里不多说,前面已经讲过。大部分命令其实和Linux差不多。

2.2 help查看

查看cat命令语法:

hadoop fs -help cat

如下:

2.3 创建文件夹

这里创建sanguo文件夹:

hadoop fs -mkdir /sanguo

浏览器查看:

三、上传文件

3.1 moveFromLocal

创建一个文件:

vim shuguo.txt

如下:

演示:

上传(该命令相当于剪切再上传到文件夹):

hadoop fs -moveFromLocal ./shuguo.txt  /sanguo

可以看到目录它不存在了(剪切掉了):

浏览器查看sanguo:

打开:

3.2 copyFromLocal

再来介绍另一个命令。先创建一个文件:

vim weiguo.txt

内容如下:

上传:

hadoop fs -copyFromLocal ./weiguo.txt /sanguo

演示如下:

内容打开:

两个命令区别:

  1. copyFromLocal命令,复制本地的上传到HDFS,不会删除本地
  2. moveFromLocal命令,剪切(删除)本地上传HDFS,会删除本地

3.3 put

再来介绍put命令,它等同于 copyFromLocal命令,这个跟简约。创建文本:

 vim wuguo.txt

内容如下:

上传:

 hadoop fs -put ./wuguo.txt /sanguo

演示:

浏览器查看:

3.4 appendToFile

这个命令用于追加内容到文件。创建新的脚本:

vim chuan.txt

内容如下:

把该文件内容追加到shuguo.txt文件中:

hadoop fs -appendToFile ./chuan.txt  /sanguo/shuguo.txt

如果你报错,请看这篇文章:Failed to replace a bad datanode on the existing pipeline due to no more good datanodes being avail
如下:

浏览器查看:

四、下载

4.1 copyToLocal

该命令从 HDFS 拷贝到本地。例如把shuguo.txt拷贝到当前文件夹:

hadoop fs -copyToLocal /sanguo/shuguo.txt ./

如下:

4.2 get

该命令与上一个一样,生产环境更常用 get。

例如下载wuguo.txt到本地并更名为wu.txt:

hadoop fs -get /sanguo/wuguo.txt  ./wu.txt

如下:

五、HDFS直接操作

5.1 查看目录

查看根目录:

hadoop fs -ls /

查看目录某个文件夹内容:

hadoop fs -ls /sanguo

如下:

5.2 查看文件内容

用cat:

hadoop fs -cat /sanguo/wuguo.txt

如下:

5.3 创建文件夹

hadoop fs -mkdir /test

如下:

5.4 权限管理


目标:修改sanguo里面文件的权限

使用chmod方法:修改为只能读

hadoop fs -chmod 444 /sanguo/wuguo.txt

如下:

chmod语法:

5.5 移动文件

例如:把wuguo.txt移动到test文件夹

hadoop fs -mv /sanguo/wuguo.txt  /test

如下:

5.6 删除文件

用rm删除文件或者文件夹。

例如:删除test文件夹下面的wuguo.txt

hadoop fs  -rm  /test/wuguo.txt

如下:

以上是关于Hadoop_HDFS:Shell操作之文件的管理(上传下载删除等)的主要内容,如果未能解决你的问题,请参考以下文章

linux文件管理之bash shell

linux基础学习-17-linux操作系统之Shell编程基础讲解

Linux之基础bash shell命令

HDFS常用Shell命令

(转)shell脚本之文件测试操作符及整数比较符

Hadoop框架之HDFS的shell操作