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 #离开安全模式
相关推荐
java李杨勇3 小时前
基于大数据爬虫数据挖掘技术+Python的网络用户购物行为分析与可视化平台(源码+论文+PPT+部署文档教程等)
大数据·爬虫·数据挖掘·1024程序员节·网络用户购物行为分析可视化平台·大数据毕业设计
大数据编程之光5 小时前
Hive 窗口函数与分析函数深度解析:开启大数据分析的新维度
hive·hadoop·数据分析
jlting1955 小时前
Flink中关于checkpoint、重启策略、状态、维表join总结
大数据·flink
GDDGHS_5 小时前
Flink的架构体系
大数据·架构·flink
青青草原一只狼6 小时前
使用ElasticSearch实现全文检索
大数据·elasticsearch·全文检索·logstash
star@星空6 小时前
git工作中常用指令
大数据·git·elasticsearch
Elastic 中国社区官方博客6 小时前
Elasticsearch Serverless 中的数据流自动分片
大数据·数据库·elasticsearch·搜索引擎·serverless·时序数据库
m0_748232926 小时前
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
大数据·架构·apache
星光璀璨山河无恙7 小时前
【Linux】grep命令
大数据·linux
fanchael_kui7 小时前
使用elasticsearch-java客户端API生成DSL语句
java·大数据·elasticsearch