您的位置:首页 > 运维架构

hadoop-3.0.0-beta1运维手册(007):hdfs3.0.0基本操作-上传、下载、删除文件或目录

2017-12-06 20:04 786 查看
写在前面的话
Hdfs采用分布式架构,为上层的应用和用户提供可扩展、高吞吐、高可靠的数据存储服务。在整个Hadoop生态系统中,hdfs处于最底层,也是最无可替代的一个基础设施。从2008年hadoop-0.10.1版本开始到现在的hadoop-3.0.0-beta1,hdfs已经走过了近10个年头,其架构和功能特性也发生了巨大的变化。特别是hdfs3.0.0系列,和hdfs2.x相比,增加了基于纠删码(erasure
encoding)的容错方式,与传统的副本方式相比,在同等可用性的情况下, 能大幅节省一半以上的空间,这也是自hdfs诞生近这十年来,数据可靠性机制上的一个重大变化(之前一直都是副本容错方式)。此外hdfs3.0.0还增加了其它的一些特性,例如在Namenode
HA中支持3个Namenode,可以容忍2个Namenode失效,而hdfs2.x只能容忍1个Namenode失效。
本文以连载的方式,在“大数据学习网”上记录自己使用hadoop-3.0.0-beta1的hdfs的点点滴滴,包括从零开始搭建分布式hdfs3.0,如何动态扩展hdfs节点、如何使用hdfs3.0的纠删码容错等等。不当之处,请大家发邮件aishuc@126com给艾叔,谢谢!
 

4.1 查看目录内容

例子,查看hdfs的根目录内容,绿色部分表示要查看的路径
[user@nn1 ~]$ hdfs dfs -ls /
 

4.2 上传文件

例子,将/etc/profile上传到hdfs的根目录下,并验证。
注意:
1. file:///etc/profile中file://表示本地文件系统,/etc/profile是本地文件的路径。
2. 后面的/,表示的是hdfs的根目录,因为core-site.xml中配置了默认的文件系统是hdfs://nn1:9001
[user@nn1 ~]$ hdfs dfs -cp file:///etc/profile /

[user@nn1 ~]$ hdfs dfs -ls /

Found 1 items

-rw-r--r--   3 user supergroup       1872 2017-11-27 14:45 /profile

 

4.3 上传目录

例子,将hadoop配置文件目录上传到hdfs的根目录下,并验证。
[user@nn1 ~]$ hdfs dfs -cp file:///home/user/hadoop-3.0.0-beta1/etc/hadoop/ /
[user@nn1 ~]$ hdfs dfs -ls /
Found 2 items
drwxr-xr-x   - user supergroup          0 2017-11-27 14:49 /hadoop
-rw-r--r--   3 user supergroup       1872 2017-11-27 14:45 /profile
[user@nn1 ~]$ hdfs dfs -ls /hadoop
Found 31 items
-rw-r--r--   3 user supergroup       7861 2017-11-27 14:49 /hadoop/capacity-scheduler.xml
-rw-r--r--   3 user supergroup       1335 2017-11-27 14:49 /hadoop/configuration.xsl
注意:
1. file:///home/user/hadoop-3.0.0-beta1/etc/hadoop/ 是源路径,它和后面的/之间有一个空格
2. 后面的/,表示hdfs的根目录
3. 上传文件和上传目录的用法一样,并不需要增加-r选项

4.4 下载文件

例子,将刚上传的profile下载到本地/tmp目录下
[user@nn1 ~]$ hdfs dfs -cp /profile file:///tmp/
[user@nn1 ~]$ ls -l /tmp/profile
-rw-r--r--. 1 user user 1872 Nov 27 15:02 /tmp/profile
注意:
1. 上传和下载其实就是对调一下hdfs和本地路径,我们只需要清楚:本地路径前面要加file://,而hdfs直接用就可以了;
2. 如果在core-site.xml中配置默认文件系统为file://,那么/表示的就是本地文件系统的根目录,如果要访问hdfs,则要使用hdfs://nn1:9001/后面再跟路径。
 

4.5 下载目录

例子,下载hdfs中的/hadoop到/tmp目录下
[user@nn1 ~]$ hdfs dfs -cp /hadoop file:///tmp/
[user@nn1 ~]$ ls -l /tmp/
total 28
drwxr-xr-x. 3 user user 4096 Nov 27 15:05 hadoop
注意:复制目录和复制文件用法完全一样。
 

4.6 删除文件

删除刚上传的profile
[user@nn1 ~]$ hdfs dfs -rm /profile
Deleted /profile
[user@nn1 ~]$ hdfs dfs -ls /
Found 1 items
drwxr-xr-x   - user supergroup          0 2017-11-27 14:49 /hadoop
 

4.7 删除目录

删除刚上传的hadoop目录
[user@nn1 ~]$ hdfs dfs -rm -r /hadoop
Deleted /hadoop
[user@nn1 ~]$ hdfs dfs -ls /
注意:删除目录多了一个选项-r
 
上一篇:《hadoop-3.0.0-beta1运维手册(006):hdfs3.0.0分布式构建-启动hdfs》
原创文章,转载请注明: 转载自大�����据学习网,作者:艾叔
本文链接地址: http://www.bigdatastudy.net/show.aspx?id=454&cid=8
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐