HDFS 操作命令

在现代的企业环境中,单机容量往往无法存储大量数据,需要跨机器存储。统一管理分布在
集群上的文件系统称为 分布式文件系统
HDFS ( Hadoop Distributed File System )是 Apache Hadoop 项目的一个子项目, Hadoop 非常
适于存储大型数据 ( 比如 TB 和 PB), 其就是使用 HDFS 作为存储系统 . HDFS 使用多台计算

使用场景

  • 存储非常大的文件:这里非常大指的是几百M、G、或者TB级别,需要高吞吐量,对延时****没有要求
  • 采用流式的数据访问方式: 即一次写入、多次读取,数据集经常从数据源生成或者拷贝一 次,然后在其上做很多分析工作 。
  • 运行于商业硬件上:Hadoop不需要特别贵的机器,可运行于普通廉价机器,可以处节约成****本
  • 需要高容错性
  • 为数据存储提供所需的扩展能力

不适合的应用场景

  • 低延时的数据访问 对延时要求在毫秒级别的应用,不适合采用HDFS。HDFS是为高吞吐数据传输设计的,因此可能牺牲延时
  • 大量小文件 文件的元数据保存在NameNode****的内存中, 整个文件系统的文件数量会受限于NameNode的内存大小。 经验而言,一个文件/目录/文件块一般占有150字节的元数据内存空间。如果有100万个文件,每个文件占用1个文件块,则需要大约300M的内存。因此十亿级别的文件数量在现有商用机器上难以支持。
  • 多方读写,需要任意的文件修改 HDFS采用追加(append-only)的方式写入数据。不支持文件任意offset****的修改。不支持多个写入器(writer)

hdfs****的命令行使用

XML 复制代码
ls
格式:  hdfs dfs -ls URI
作用:类似于Linux的ls命令,显示文件列表
hdfs dfs   -ls /

lsr 
格式 :   hdfs dfs -lsr URI
作用 : 在整个目录下递归执行ls, 与UNIX中的ls-R类似
hdfs dfs   -lsr /

mkdir
格式 : hdfs dfs [-p] -mkdir <paths>
作用 :   以<paths>中的URI作为参数,创建目录。使用-p参数可以递归创建目录

put
格式   : hdfs dfs -put <localsrc > ... <dst>
作用 : 将单个的源文件src或者多个源文件srcs从本地文件系统拷贝到目标文件系统中(<dst>
对应的路径)。也可以从标准输入中读取输入,写入目标文件系统中
hdfs dfs -put /rooot/a.txt /dir1

moveFromLocal
格式: hdfs dfs -moveFromLocal <localsrc>   <dst>
作用:   和put命令类似,但是源文件localsrc拷贝之后自身被删除
hdfs dfs -moveFromLocal /root/install.log /

mv
格式 : hdfs dfs -mv URI   <dest>
作用: 将hdfs上的文件从原路径移动到目标路径(移动之后文件删除),该命令不能夸文件系统
hdfs dfs  -mv /dir1/a.txt   /dir2

rm
格式: hdfs dfs -rm [-r] 【-skipTrash】 URI 【URI 。。。】
作用:   删除参数指定的文件,参数可以有多个。   此命令只删除文件和非空目录。
如果指定-skipTrash选项,那么在回收站可用的情况下,该选项将跳过回收站而直接删除文件;
否则,在回收站可用时,在HDFS Shell 中执行此命令,会将文件暂时放到回收站中。
hdfs dfs  -rm  -r /dir1

cp
格式:     hdfs  dfs  -cp URI [URI ...] <dest>
作用:    将文件拷贝到目标路径中。如果<dest>  为目录的话,可以将多个文件拷贝到该目录
下。
-f
选项将覆盖目标,如果它已经存在。
-p
选项将保留文件属性(时间戳、所有权、许可、ACL、XAttr)。
hdfs dfs -cp /dir1/a.txt /dir2/b.txt

cat
hdfs dfs  -cat URI [uri ...]
作用:将参数所指示的文件内容输出到stdout
hdfs dfs  -cat /install.log

chmod
格式:      hdfs   dfs  -chmod  [-R]  URI[URI  ...]
作用:    改变文件权限。如果使用  -R 选项,则对整个目录有效递归执行。使用这一命令的用户
必须是文件的所属用户,或者超级用户。
hdfs dfs -chmod -R 777 /install.log

chown
格式:      hdfs   dfs  -chmod  [-R]  URI[URI  ...]
作用:    改变文件的所属用户和用户组。如果使用  -R 选项,则对整个目录有效递归执行。使用
这一命令的用户必须是文件的所属用户,或者超级用户。
hdfs dfs  -chown  -R hadoop:hadoop /install.log

appendToFile
格式: hdfs dfs -appendToFile <localsrc> ... <dst>
作用: 追加一个或者多个文件到hdfs指定文件中.也可以从命令行读取输入.
hdfs dfs -appendToFile a.xml b.xml /big.xml

hdfs****的高级使用命令

XML 复制代码
hdfs dfs -count -q -h /user/root/dir1  #查看配额信息

数量限额
hdfs dfs  -mkdir -p /user/root/dir    #创建hdfs文件夹
hdfs dfsadmin -setQuota 2 dir      # 给该文件夹下面设置最多上传两个文件,发现只能上传一个文件
hdfs dfsadmin -clrQuota /user/root/dir  # 清除文件数量限制

空间大小限额
在设置空间配额时,设置的空间至少是block_size * 3大小
hdfs dfsadmin -setSpaceQuota 4k /user/root/dir   # 限制空间大小4KB
hdfs dfs -put /root/a.txt /user/root/dir
生成任意大小文件的命令:
dd if=/dev/zero of=1.txt  bs=1M count=2     #生成2M的文件

清除空间配额限制
hdfs dfsadmin -clrSpaceQuota /user/root/dir

hdfs的安全模式
在安全模式状态下,文件系统只接受读数据请求,而不接受删除、修改等变更请求。在,当
整个系统达到安全标准时,HDFS自动离开安全模式。
hdfs dfsadmin  -safemode  get #查看安全模式状态
hdfs dfsadmin  -safemode enter #进入安全模式
hdfs dfsadmin  -safemode leave #离开安全模式
相关推荐
数据猿34 分钟前
【金猿CIO展】如康集团CIO 赵鋆洲:数智重塑“顶牛”——如康集团如何用大数据烹饪万亿肉食产业的未来
大数据
zxsz_com_cn3 小时前
设备预测性维护的意义 工业设备预测性维护是什么
大数据
samLi06203 小时前
【数据集】中国杰出青年名单数据集(1994-2024年)
大数据
成长之路5144 小时前
【数据集】分地市旅游收入数据集(2000-2024年)
大数据·旅游
大厂技术总监下海4 小时前
用户行为分析怎么做?ClickHouse + 嵌套数据结构,轻松处理复杂事件
大数据·数据结构·数据库
大厂技术总监下海4 小时前
大数据生态的“主动脉”:RocketMQ 如何无缝桥接 Flink、Spark 与业务系统?
大数据·开源·rocketmq
2501_933670795 小时前
2026年中专大数据专业可考取的证书
大数据
oMcLin5 小时前
如何在Ubuntu 22.04 LTS上优化PostgreSQL 14集群,提升大数据查询的响应速度与稳定性?
大数据·ubuntu·postgresql
信创天地5 小时前
核心系统去 “O” 攻坚:信创数据库迁移的双轨运行与数据一致性保障方案
java·大数据·数据库·金融·架构·政务
德彪稳坐倒骑驴5 小时前
Sqoop入门常用命令
数据库·hadoop·sqoop