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

你可能感兴趣的:(#,:::,::,:,Hadoop,:,::,:::,hadoop,大数据)