Hadoop【基础知识 04】【HDFS常用shell命令】(hadoop fs + hadoop dfs + hdfs dfs 使用举例)

简介: 【4月更文挑战第4天】Hadoop【基础知识 04】【HDFS常用shell命令】(hadoop fs + hadoop dfs + hdfs dfs 使用举例)

Hadoop fs:使用面最广,可以操作任何文件系统。

hadoop dfs 与 hdfs dfs:只能操作HDFS文件系统相关(包括与Local FS间的操作),前者已经Deprecated,一般使用后者。

hadoop fs

hadoop fs -ls  显示当前目录结构,-ls -R 递归显示目录结构
hadoop fs -mkdir  创建目录
hadoop fs -rm   删除文件,-rm -R 递归删除目录和文件
hadoop fs -put  [localsrc] [dst]  从本地加载文件到HDFS
hadoop fs -get  [dst] [localsrc]  从HDFS导出文件到本地
hadoop fs -copyFromLocal [localsrc] [dst]  从本地加载文件到HDFS,与put一致
hadoop fs -copyToLocal [dst] [localsrc]  从HDFS导出文件到本地,与get一致
hadoop fs -test -e  检测目录和文件是否存在,存在返回值$?为0,不存在返回1
hadoop fs -text  查看文件内容
hadoop fs -du  统计目录下各文件大小,单位字节。-du -s 汇总目录下文件大小,-du -h 显示单位
hadoop fs -tail  显示文件末尾
hadoop fs -cp [src] [dst] 从源目录复制文件到目标目录
hadoop fs -mv [src] [dst] 从源目录移动文件到目标目录

hdfs dfs

1.帮助命令

hdfs dfs -help

2.查看命令

列出文件系统目录下的目录和文件

# -h 以更友好的方式列出,主要针对文件大小显示成相应单位K、M、G等
# -r 递归列出,类似于linux中的tree命令
hdfs dfs -ls [-h] [-r] <path>

# 查看文件内容
hdfs dfs -cat <hdfsfile>

#查看文件末尾的1KB数据
hdfs dfs -tail [-f] <hdfsfile>

3.创建命令

# 新建目录
hdfs dfs -mkdir <path>

# 创建多级目录
hdfs dfs -mkdir -p <path>

# 新建一个空文件,linux下是touchz,不知道为什么在hdfs要加个z?
hdfs dfs -touchz <filename>

# 上传本地文件到hdfs
# -f 如果hdfs上已经存在要上传的文件,强制上传并覆盖之前的文件
hdfs dfs -put [-f]  <local src> ...  <hdfs dst>

# 举例:将/usr/local/hadoop-2.7.3/etc/hadoop下的所有配置文件都上传到hdfs的/hadoop目录
hdfs dfs -mkdir /config
hdfs dfs -put /usr/local/hadoop-2.7.3/etc/hadoop /config

4.删除命令

# 删除文件或目录,
# -r 递归删除目录下的所有文件
# -f为直接删除,不予提示
# -skipTrash为彻底删除文件,不放入回收站

hdfs dfs -rm [-r] [-f] [-skipTrash] <hdfs path>

5.获取命令

# 将hdfs文件下载到本地
hdfs dfs -get < hdfs path> < localpath>

# 将hdfs文件合并起来下载到本地
hdfs hdfs -getmerge [-nl] <hdfs path> <local dst>
# 举例:将hdfs的/config/hadoop目录下的所有文件合并下载到本地的config.txt中
hdfs dfs -getmerge /config/hadoop config.txt

6.文件操作命令

# 拷贝:
hdfs dfs -cp [-r] < hdfs path >  < hdfs path1 >

# 移动:
hdfs dfs -mv < hdfs path >  < hdfs path1 >

# 统计目录下的对象数:
hdfs dfs -count < hdfs path >

# 统计目录下的对象大小:
hdfs dfs -du [-s] [-h] < hdfs path >

# 修改hdfs文件权限
# 修改所属组
[-chgrp [-R] GROUP PATH...] 
# 修改权限模式
[-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
# 修改所需组和所有者
[-chown [-R] [OWNER][:[GROUP]] PATH...]

7.管理命令

# 显示帮助
hdfs dfsadmin -help

# 查看文件系统健康状态,显示hdfs的容量、数据块和数据节点的信息
hdfs dfsadmin -report

#安全模式管理 安全模式是hadoop的一种保护机制,用于保证集群中的数据块的安全性。当hdfs进入安全模式时不允许客户端进行任何修改文件的操作,包括上传文件,删除文件,重命名,创建文件夹等操作。当集群启动的时候,会首先进入安全模式。当系统处于安全模式时会检查数据块的完整性。假设我们设置的副本数(即参数dfs.replication)是5,那么在datanode上就应该有5个副本存在,假设只存在3个副本,那么比例就是3/5=0.6。通过配置dfs.safemode.threshold.pct定义最小的副本率,默认为0.999。

# 1)查看安全模式状态
hdfs dfsadmin -safemode get
# 2)强制进入安全模式
hdfs dfsadmin -safemode enter
# 3)强制离开安全模式
hdfs dfsadmin -safemode leave
目录
相关文章
|
6月前
|
XML 存储 分布式计算
【赵渝强老师】史上最详细:Hadoop HDFS的体系架构
HDFS(Hadoop分布式文件系统)由三个核心组件构成:NameNode、DataNode和SecondaryNameNode。NameNode负责管理文件系统的命名空间和客户端请求,维护元数据文件fsimage和edits;DataNode存储实际的数据块,默认大小为128MB;SecondaryNameNode定期合并edits日志到fsimage中,但不作为NameNode的热备份。通过这些组件的协同工作,HDFS实现了高效、可靠的大规模数据存储与管理。
639 70
|
11月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
439 6
|
11月前
|
分布式计算 监控 Hadoop
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
170 1
|
11月前
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
283 0
|
11月前
|
SQL 分布式计算 关系型数据库
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
137 0
|
11月前
|
SQL 分布式计算 关系型数据库
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
186 0
|
6月前
|
关系型数据库 MySQL Shell
MySQL 备份 Shell 脚本:支持远程同步与阿里云 OSS 备份
一款自动化 MySQL 备份 Shell 脚本,支持本地存储、远程服务器同步(SSH+rsync)、阿里云 OSS 备份,并自动清理过期备份。适用于数据库管理员和开发者,帮助确保数据安全。
|
4月前
|
存储 Unix Shell
确定Shell脚本在操作系统中的具体位置方法。
这对于掌握Linux的文件系统组织结构和路径方面的理解很有帮助,是我们日常工作和学习中都可能使用到的知识。以上讲解详细清晰,应用简便,是每一个想要精通操作系统的计算机爱好者必备的实用技能。
104 17
|
4月前
|
Linux Shell
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
125 4
|
4月前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
269 3

相关实验场景

更多