李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
大数据
正文
02.HDFS常用命令
Leefs
2021-09-14 PM
1109℃
0条
# 02.HDFS常用命令 ### 前言 在通过hdfs命令行操作时,我们通常会用到`hadoop fs`、`hadoop dfs`、或者是`hdfs dfs`,但是很少在意三者的区别。 + `hadoop fs`:该命令可以用于其他文件系统,不止是hdfs文件系统内,使用范围更加广泛 + `hadoop dfs`:专门针对hdfs分布式文件系统 + `hdfs dfs`:和上方命令作用相同,当使用`hadoop dfs`时内部会被转为`hdfs dfs`命令 **总结:单从操作HDFS来说,使用上面三种的命令作用都相同。** 本篇使用的是`hadoop fs`来完成命令行操作 ### 一、HDFS命令实操 #### 1.1 上传 (1)`-moveFromLocal`:从本地剪切粘贴到HDFS ```bash # 将llc.txt文件剪切粘贴到hdfs的/data目录下 [root@host102 lilinchao]# hadoop fs -moveFromLocal ./llc.txt /data ``` (2)`-copyFromLocal`:从本地文件系统中拷贝文件到 HDFS 路径去 ```shell # 将word.csv文件拷贝到HDFS的/data目录下 [root@host102 lilinchao]# hadoop fs -copyFromLocal word.csv /data ``` (3)`-put`:等同于 `copyFromLocal`,生产环境更习惯用 put ```shell # 将user.json文件拷贝到HDFS的/data目录下 [root@host102 lilinchao]# hadoop fs -put ./user.json /data ``` (4)`-appendToFile`:追加一个文件到已经存在的文件末尾 ```shell # 将word.csv文件追加到HDFS中/data/llc.txt文件末尾 [root@host102 lilinchao]# hadoop fs -appendToFile ./word.csv /data/llc.txt ``` #### 1.2 下载 (1)`-copyToLocal`:从HDFS拷贝到本地 ```shell # 将HDFS中/data/llc.txt文件拷贝到本地当前目录下 [root@host102 lilinchao]# hadoop fs -copyToLocal /data/llc.txt ./ ``` (2)`-get`:等同于 `copyToLocal`,生产环境更习惯用 get ```shell # 将HDFS中/data/llc.txt文件拷贝到本地当前目录下并重新命名为llc2.txt [root@host102 lilinchao]# hadoop fs -get /data/llc.txt ./llc2.txt ``` *说明:在进行拷贝操作时支持文件名称修改。* #### 1.3 HDFS直接操作 (1)`-ls`:显示目录信息 ```shell # 查询HDFS中/data下的所有目录信息 [root@host102 lilinchao]# hadoop fs -ls /data ``` (2)`-cat`:显示文件内容 ```shell # 查询HDFS中/data/llc.txt的文件内容 [root@host102 lilinchao]# hadoop fs -cat /data/llc.txt ``` (3)权限修改相关命令 + `chgrp`:改变文件所属的组 + `chmod`:改变文件的权限 + `chown`:改变文件的拥有者 ```shell # 修改/data/llc/llc.txt文件的权限 [root@host172 lilinchao]# hadoop fs -chmod 666 /data/llc/llc.txt # 修改/data/llc/word.csv文件的所有者[Owner]和所有者组[Group]都为root [root@host172 lilinchao]# hadoop fs -chown root:root /data/llc/word.csv # 修改/data/llc/word.csv文件的所有者组[Group]为supergroup [root@host172 lilinchao]# hadoop fs -chgrp supergroup /data/llc/word.csv ``` *说明:使用-R将使改变在目录结构下递归进行。命令的使用者必须是超级用户。* (4)`-mkdir`:创建路径 ```shell # HDFS中创建/data/llc目录 [root@host102 lilinchao]# hadoop fs -mkdir /data/llc ``` (5)`-cp`:从 HDFS 的一个路径拷贝到 HDFS 的另一个路径 ```shell # 将HDFS中/data/llc.txt文件拷贝到/data/llc文件夹下 [root@host102 lilinchao]# hadoop fs -cp /data/llc.txt /data/llc ``` (6)`-mv`:在 HDFS 目录中移动文件 ```shell # 将HDFS中/data/word.csv文件移动到/data/llc目录 [root@host102 lilinchao]# hadoop fs -mv /data/word.csv /data/llc ``` (7)`-tail`:显示一个文件的末尾 1kb 的数据 ```shell # 显示/data/llc/word.csv文件末尾1kb的数据 [root@host172 lilinchao]# hadoop fs -tail /data/llc/word.csv ``` (8)`-rm`:删除文件或文件夹 ```shell # 将HDFS中/data/llc.txt文件删除 [root@host172 lilinchao]# hadoop fs -rm /data/llc.txt ``` (9)`-rm -r`:递归删除目录及目录里面内容 ```shell # HDFS删除/data/张三文件夹 [root@host172 lilinchao]# hadoop fs -rm -r /data/张三 ``` (10)`-du`:统计文件夹的大小信息 ```shell # HDFS中,统计/data/llc文件夹下文件的大小信息 [root@host172 lilinchao]# hadoop fs -du /data/llc 72 144 /data/llc/llc.txt 47 94 /data/llc/word.csv ``` *说明:72和47表示文件大小,144和94分别表示`72*2`和`47*2`个副本。* (11)`-setrep`:设置 HDFS 中文件的副本数量 ```shell # 将/data/llc/llc.txt文件的副本数改成10个 [root@host172 lilinchao]# hadoop fs -setrep 10 /data/llc/llc.txt ``` 这里设置的副本数只是记录在 `NameNode` 的元数据中,是否真的会有这么多副本,还得看 `DataNode` 的数量。因为目前只有 3 台设备,最多也就 3 个副本,只有节点数的增加到 10 台时,副本数才能达到 10。
标签:
Hadoop
,
HDFS
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:
https://www.lilinchao.com/archives/1486.html
上一篇
01.HDFS概述
下一篇
03.HDFS读写流程
取消回复
评论啦~
提交评论
栏目分类
随笔
2
Java
326
大数据
229
工具
31
其它
25
GO
47
标签云
Linux
递归
Netty
JavaWEB项目搭建
微服务
链表
查找
FileBeat
哈希表
Spark RDD
Kibana
JavaWeb
Tomcat
容器深入研究
Elastisearch
Git
Java编程思想
锁
二叉树
人工智能
Golang基础
Shiro
Stream流
数学
数据结构和算法
Docker
SpringBoot
Python
持有对象
SpringCloud
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞