Hadoop系列:(一)hdfs文件系统的基本操作

可以执行所有常用的Linux文件操作命令(读取文件,新建文件,移动文件,删除文件,列表文件等)

1.help命令获取没个命令的帮助

[[email protected] ~]$ hadoop fs -help
Usage: hadoop fs [generic options]
        [-appendToFile <localsrc> ... <dst>]
        [-cat [-ignoreCrc] <src> ...]
        [-checksum <src> ...]
        [-chgrp [-R] GROUP PATH...]
        [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
        [-chown [-R] [OWNER][:[GROUP]] PATH...]
        [-copyFromLocal [-f] [-p] [-l] <localsrc> ... <dst>]
        [-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
        [-count [-q] [-h] [-v] [-x] <path> ...]
        [-cp [-f] [-p | -p[topax]] <src> ... <dst>]
        [-createSnapshot <snapshotDir> [<snapshotName>]]
        [-deleteSnapshot <snapshotDir> <snapshotName>]
        [-df [-h] [<path> ...]]
        [-du [-s] [-h] [-x] <path> ...]
        [-expunge]
        [-find <path> ... <expression> ...]
        [-get [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
        [-getfacl [-R] <path>]
        [-getfattr [-R] {-n name | -d} [-e en] <path>]
        [-getmerge [-nl] <src> <localdst>]
        [-help [cmd ...]]
        [-ls [-C] [-d] [-h] [-q] [-R] [-t] [-S] [-r] [-u] [<path> ...]]
        [-mkdir [-p] <path> ...]
        [-moveFromLocal <localsrc> ... <dst>]
        [-moveToLocal <src> <localdst>]
        [-mv <src> ... <dst>]
        [-put [-f] [-p] [-l] <localsrc> ... <dst>]
        [-renameSnapshot <snapshotDir> <oldName> <newName>]
        [-rm [-f] [-r|-R] [-skipTrash] <src> ...]
        [-rmdir [--ignore-fail-on-non-empty] <dir> ...]
        [-setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]]
        [-setfattr {-n name [-v value] | -x name} <path>]
        [-setrep [-R] [-w] <rep> <path> ...]
        [-stat [format] <path> ...]
        [-tail [-f] <file>]
        [-test -[defsz] <path>]
        [-text [-ignoreCrc] <src> ...]
        [-touchz <path> ...]
        [-usage [cmd ...]]

2.copyFromLocal复制本地文件到hdfs中,其中“hdfs://quickstart.cloudera:8020”可以省略

[[email protected] Downloads]$ hadoop fs -copyFromLocal file1.txt hdfs://quickstart.cloudera:8020/tmp
[[email protected] Downloads]$ hadoop fs -copyFromLocal file2.txt /tmp

3.copyToLocal把hdfs中文件复制到本地文件系统

[[email protected] Downloads]$ hadoop fs -copyToLocal hdfs://quickstart.cloudera:8020/tmp/file1.txt file1.txt.copy

4.ls列出当前目录下的文件(第一列:文件权限,第二列:文件的备份书,第三列:所属用户,第四列:所属组,第五列:文件大小,第六列:最后修改日期,第七列:文件或目录)

[[email protected] Downloads]$ hadoop fs -ls /tmp
Found 7 items
drwxrwxrwx   - hdfs     supergroup          0 2018-04-26 15:40 /tmp/.cloudera_health_monitoring_canary_files
-rw-r--r--   1 cloudera supergroup         12 2018-04-26 15:35 /tmp/file1.txt
-rw-r--r--   1 cloudera supergroup         29 2018-04-26 15:36 /tmp/file2.txt
drwxrwxrwt   - mapred   mapred              0 2018-04-13 21:30 /tmp/hadoop-yarn
drwx--x--x   - hbase    supergroup          0 2018-04-12 15:36 /tmp/hbase-staging
drwx-wx-wx   - hive     supergroup          0 2018-04-13 19:02 /tmp/hive
drwxrwxrwt   - mapred   hadoop              0 2018-04-12 17:05 /tmp/logs

5.cat输出文件内容

[[email protected] Downloads]$ hadoop fs -cat /tmp/file1.txt
hello world

6.mkdir创建目录

[[email protected] Downloads]$ hadoop fs -mkdir /tmp/test
[[email protected] Downloads]$ hadoop fs -ls /tmp
Found 8 items
drwxrwxrwx   - hdfs     supergroup          0 2018-04-26 15:54 /tmp/.cloudera_health_monitoring_canary_files
-rw-r--r--   1 cloudera supergroup         12 2018-04-26 15:35 /tmp/file1.txt
-rw-r--r--   1 cloudera supergroup         29 2018-04-26 15:36 /tmp/file2.txt
drwxrwxrwt   - mapred   mapred              0 2018-04-13 21:30 /tmp/hadoop-yarn
drwx--x--x   - hbase    supergroup          0 2018-04-12 15:36 /tmp/hbase-staging
drwx-wx-wx   - hive     supergroup          0 2018-04-13 19:02 /tmp/hive
drwxrwxrwt   - mapred   hadoop              0 2018-04-12 17:05 /tmp/logs
drwxr-xr-x   - cloudera supergroup          0 2018-04-26 15:54 /tmp/test

7.rm删除文件或者目录

[[email protected] Downloads]$ hadoop fs -rm /tmp/file1.txt      删除文件
18/04/26 15:55:44 INFO fs.TrashPolicyDefault: Moved: ‘hdfs://quickstart.cloudera:8020/tmp/file1.txt‘ to trash at: hdfs://quickstart.cloudera:8020/user/cloudera/.Trash/Current/tmp/file1.txt
[[email protected] Downloads]$ hadoop fs -rm -r /tmp/test        删除目录
18/04/26 15:56:01 INFO fs.TrashPolicyDefault: Moved: ‘hdfs://quickstart.cloudera:8020/tmp/test‘ to trash at: hdfs://quickstart.cloudera:8020/user/cloudera/.Trash/Current/tmp/test

8.put同copyFromLocal

[[email protected] Downloads]$ hadoop fs -put file1.txt /tmp

9.get通copyToLocal

[[email protected] Downloads]$ hadoop fs -get hdfs://quickstart.cloudera:8020/tmp/file1.txt get1.txt
[[email protected] Downloads]$ ls
1901.gz  1902.gz  all  compute_max_degree.sh  file1.txt  file1.txt.copy  file2.txt  get1.txt

10.mv移动文件

[[email protected] Downloads]$ hadoop fs -mv /tmp/file1.txt /tmp/file1_new.txt
[cloud[email protected] Downloads]$ hadoop fs -ls /tmp
Found 8 items
drwxrwxrwx   - hdfs     supergroup          0 2018-04-26 16:08 /tmp/.cloudera_health_monitoring_canary_files
-rw-r--r--   1 cloudera supergroup         12 2018-04-26 16:05 /tmp/file1_new.txt
-rw-r--r--   1 cloudera supergroup         29 2018-04-26 15:36 /tmp/file2.txt
drwxrwxrwt   - mapred   mapred              0 2018-04-13 21:30 /tmp/hadoop-yarn
drwx--x--x   - hbase    supergroup          0 2018-04-12 15:36 /tmp/hbase-staging
drwx-wx-wx   - hive     supergroup          0 2018-04-13 19:02 /tmp/hive
drwxrwxrwt   - mapred   hadoop              0 2018-04-12 17:05 /tmp/logs
drwxr-xr-x   - cloudera supergroup          0 2018-04-26 16:04 /tmp/test

11.du显示文件大小

[[email protected] Downloads]$ hadoop fs -du /tmp/file2.txt
29  29  /tmp/file2.txt

12.touchz创建空文件

[[email protected] Downloads]$ hadoop fs -touchz /tmp/file3.txt
[[email protected] Downloads]$ hadoop fs -du /tmp/file3.txt
0  0  /tmp/file3.txt

13.chmod改变文件权限

[[email protected] Downloads]$ hadoop fs -ls /tmp
Found 1 items-rw-r--r--   1 cloudera supergroup          0 2018-04-26 16:12 /tmp/file3.txt
[[email protected] Downloads]$ hadoop fs -chmod +x /tmp/file3.txt
[[email protected] Downloads]$ hadoop fs -ls /tmp
Found 1 items-rwxr-xr-x   1 cloudera supergroup          0 2018-04-26 16:12 /tmp/file3.txt

14.chown改变文件所有者

[[email protected] Downloads]$ hadoop fs -chown -R hbase:supergroup /tmp/file3.txt
chown: changing ownership of ‘/tmp/file3.txt‘: Non-super user cannot change owner
[[email protected] Downloads]$ sudo -u hdfs hadoop fs -chown -R hbase:supergroup /tmp/file3.txt
[[email protected] Downloads]$ hadoop fs -ls /tmp
Found 9 items
drwxrwxrwx   - hdfs     supergroup          0 2018-04-26 16:19 /tmp/.cloudera_health_monitoring_canary_files
-rw-r--r--   1 cloudera supergroup         12 2018-04-26 16:05 /tmp/file1_new.txt
-rw-r--r--   1 cloudera supergroup         29 2018-04-26 15:36 /tmp/file2.txt
-rwxr-xr-x   1 hbase    supergroup          0 2018-04-26 16:12 /tmp/file3.txt
drwxrwxrwt   - mapred   mapred              0 2018-04-13 21:30 /tmp/hadoop-yarn
drwx--x--x   - hbase    supergroup          0 2018-04-12 15:36 /tmp/hbase-staging
drwx-wx-wx   - hive     supergroup          0 2018-04-13 19:02 /tmp/hive
drwxrwxrwt   - mapred   hadoop              0 2018-04-12 17:05 /tmp/logs
drwxr-xr-x   - cloudera supergroup          0 2018-04-26 16:04 /tmp/test

原文地址:https://www.cnblogs.com/qizhelongdeyang/p/8960668.html

时间: 2024-10-07 21:46:19

Hadoop系列:(一)hdfs文件系统的基本操作的相关文章

Hadoop系列之hdfs(分布式文件系统)安装配置

Hadoop系列之hdfs(分布式文件系统)安装配置环境介绍:     ip                        节点192.168.3.10      hdfs-master192.168.3.11      hdfs-slave1192.168.3.12      hdfs-slave21.在所有机器添加hosts192.168.3.10      hdfs-master192.168.3.11      hdfs-slave1192.168.3.12      hdfs-slav

【Hadoop系列】HDFS

Hadoop的前世今生 什么是大数据 各行各业都会产生大量的数据,比如社交网站的意见观点,电商平台人们浏览网页停留的时间,交通运输每天产生的数据等等.这些数据大多不是结构化的,一般来说都是半结构化或者非结构化的 在以前,我们的处理能力达不到,所以很多数据要么没有存起来,要么没有利用起来.而现在数据越来越集中在云端的服务器上,并且计算能力已经今非昔比了,我们完全有能力对大数据进行存储和分析. 所以所谓的大数据指的就是,原有的计算能力无法处理的大批量的数据,而大数据技术研究的是如何快速有效的处理这些

HDFS文件系统基操--Java实现

Java实现对HDFS文件系统的基本操作 1.准备好jar包 2.创建一个类 1. 测试连接 @Test //测试是否连接成功 public void test() { //添加配置 ==> core-site.xml Configuration conf = new Configuration(); //配置默认地址端口 conf.set("fs.defaultFS", "hdfs://192.168.1.105:9000"); try { //加载配置 F

hadoop系列二:HDFS文件系统的命令及JAVA客户端API

转载请在页首明显处注明作者与出处 http://www.cnblogs.com/zhuxiaojie/p/6391518.html 一:说明 此为大数据系列的一些博文,有空的话会陆续更新,包含大数据的一些内容,如hadoop,spark,storm,机器学习等. 当前使用的hadoop版本为2.6.4 上一篇:hadoop系列一:hadoop集群安装 二:HDFS的shell命令 上一章说完了安装HADOOP集群部分,这一张讲HDFS. 其实基本上操作都是通过JAVA API来操作,所以这里的s

Hadoop系列(二)Hadoop三大核心之HDFS基础

目录 hdfs基础 重要概念 Hadoop 特点 Hadoop HA 针对海量数据,核心问题始终是计算和存储.当数据集的大小超过一台独立物理计算机的存储能力时,就有必要对它进行分区并存储到多台机器上.跨机器存储的文件系统就被成为分布式文件系统.分布式系统架构于网络之上,势必引入网络编程的复杂性,如何实现容忍节点故障但不丢失数据,是HDFS的重要挑战. hdfs基础 Hadoop 自带HDFS分布式文件系统:Hadoop Distributed Filesystem.也简称DFS.主要用来解决海量

浅谈Hadoop下HDFS文件系统

Hadoop下HDFS文件系统 在这里我们对Hadoop的基本概念,历史功能就不做过多的阐述,重点在对于他的文件系统做一些了解和阐述. HDFS(Hadoop distributed file system)是一个分布式文件系统.具有高容错性(fault-tolerant),使得他能够部署在低廉的硬件上.他可以提供高吞吐率来访问应用程序的数据.HDFS放宽了可移植操作系统接口的要求.这样就可以实现以流式的形式来访问文件系统的数据. HDFS的设计目标: 检测和快速回复硬件故障 流式的数据访问 简

Hadoop Shell命令(基于linux操作系统上传下载文件到hdfs文件系统基本命令学习)

Apache-->hadoop的官网文档命令学习:http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html FS Shell 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args>的形式. 所有的的FS shell命令使用URI路径作为参数.URI格式是scheme://authority/path.对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme是file.其中scheme和aut

大数据之HDFS命令行基本操作

1. 课程简介 HDFS是Hadoop大数据平台中的分布式文件系统,为上层应用或其他大数据组件提供数据存储,如Hive,Mapreduce,Spark,HBase等. 本文章中所有命令均在CentOS-6.4-x86_64,hadoop-2.5.2,jdk1.8.0_152,zookeeper-3.4.11中运行通过,为减少linux权限对初学者造成影响,所有命令均在linux的root权限下进行操作. 2.理论回顾 Hadoop技术本身包含HDFS.Map/Reduce.HDFS作海量数据存储

深入浅出Hadoop实战开发(HDFS实战图片、MapReduce、HBase实战微博、Hive应用)

Hadoop是什么,为什么要学习Hadoop?     Hadoop是一个分布式系统基础架构,由Apache基金会开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力高速运算和存储.Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS.HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上.而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据