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 #离开安全模式
相关推荐
Lx3523 小时前
Hadoop小文件处理难题:合并与优化的最佳实践
大数据·hadoop
激昂网络4 小时前
android kernel代码 common-android13-5.15 下载 编译
android·大数据·elasticsearch
绝缘体14 小时前
折扣大牌点餐api接口对接适合本地生活吗?
大数据·网络·搜索引擎·pygame
君不见,青丝成雪5 小时前
浅看架构理论(二)
大数据·架构
武子康5 小时前
大数据-74 Kafka 核心机制揭秘:副本同步、控制器选举与可靠性保障
大数据·后端·kafka
IT毕设梦工厂7 小时前
大数据毕业设计选题推荐-基于大数据的1688商品类目关系分析与可视化系统-Hadoop-Spark-数据可视化-BigData
大数据·毕业设计·源码·数据可视化·bigdata·选题推荐
君不见,青丝成雪7 小时前
Hadoop技术栈(四)HIVE常用函数汇总
大数据·数据库·数据仓库·hive·sql
万邦科技Lafite8 小时前
利用淘宝开放API接口监控商品状态,掌握第一信息
大数据·python·电商开放平台·开放api接口·淘宝开放平台
更深兼春远13 小时前
flink+clinkhouse安装部署
大数据·clickhouse·flink
专注API从业者16 小时前
Python + 淘宝 API 开发:自动化采集商品数据的完整流程
大数据·运维·前端·数据挖掘·自动化