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
目录
相关文章
|
1月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
147 6
|
1月前
|
SQL 分布式计算 监控
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
60 3
|
4天前
|
Java Shell Windows
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
13 1
|
1月前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
62 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
69 4
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
38 4
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
57 3
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
43 2
|
1月前
|
Shell 知识图谱
Shell printf 命令
10月更文挑战第3天
18 1
|
1月前
|
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
82 0