1 筹备常识

HDFS:hadoop集群分布式文件系统,用来存储海量数据。HDFS采纳分而治之的设计思维,将文件切分为文件块进行存储,存储数据的节点为datanode,存储这些数据具体寄存地位的节点为namenode。HDFS的架构为一主多从,即namenode为主,datanade为从。本文次要介绍HDFS的shell命令,即如何通过命令行对HDFS进行操作。

首先附上官网链接,HDFS Commands Guide。

介绍HDFS之前,须要理解一下命令行的格局,找个例子讲一下。

hadoop fs [generic options]        [-appendToFile <localsrc> ... <dst>]        [-cat [-ignoreCrc] <src> ...]        [-getfattr [-R] {-n name | -d} [-e en] <path>]

命令行中符号的含意如下表:

[]可选内容
<>必选内容
{}分组
\二选一
同一个内容可屡次呈现
-前面连贯单个字符,可多个组合应用
--前面跟残缺的单词
Localsrc本地源文件
dst指标门路

参考上述,可写如下命令:

hadoop fs -appendToFile <localsrc> ...<dst>或者hadoop fs -getfattr -d <path> 

2 shell命令

查看hdfs命令的形式,间接在hadoop集群上输出hdfs,会输入usage(用法)。

hdfs的命令分为三种,别离是admin command(管理员)、client commands(客户端)和 Daemon Command(过程)

管理员命令客户端命令过程命令
cacheadminclasspathbalancer
cryptodfsdatanode
debugenvvarsdfsrouter
dfsadminfetchdtdiskbalancer
dfsrouteradmingetconfhttpfs
ecgroupsjournalnode
fscklsSnapshottableDirmover
haadminsnapshotDiffnamenode
jmxgetversionnfs3
oevportmap
oivsecondarynamenode
oiv_legacyspser
storagepolicieszkfc

2.1 admin command

管理员命令次要介绍 dfsadmin和fsck

输出 hdfs dfsadmin 查看usage

  • hdfs dfsadmin -report #报告集群状态

  • hdfs dfsadmin -safemode #设置集群的平安模式,当集群呈现问题时,可设置平安模式。enter :进入平安模式,平安模式状态下,不能够向hdfs上传输文件;leave:来到;get:获取以后状态;wait:期待。

  • hdfs dfsadmin -allowSnapShot #启用快照性能,快照性能开启,就能够对文件进行备份了。

输出hdfs fsck 查看fsck的usage:

  • hdfs fsck / #查看hdfs文件系统信息

2.2 client commands

客户端命令介绍dfs、getconf和version

输出 hdfs dfs 查看dfs的usage

每个具体子命令的含意如下表

appendToFile追加一个或者多个文件到hdfs指定文件中
cat显示文件内容到规范输入上
checksum校验和
chgrp批改所属组
chmodhdfs上文件用户名和用户组
chownhdfs上文件权限批改
copyFromLocal从本地复制文件到hdfs文件系统
copyToLocal复制hdfs文件系统中的文件到本地
count统计与指定文件模式匹配的门路下的目录,文件和字节数
cp将文件或目录复制到指标门路下
createSnapshot创立快照
deleteSnapshot删除快照
df查看可用空间
du显示给定目录中蕴含的文件和目录的大小或文件的长度,用字节大小示意。
expunge清空回收站
find查找
get将本地文件从HDFS下载到本地
getfacl显示权限信息
getfattr显示其余信息
getmerge将源目录和指标文件作为输出,并将src中的文件连贯到指标本地文件
head输入文件结尾10行
help帮忙信息
ls查看目录下内容
mkdir创立目录
moveFromLocal从本地挪动到hdfs
moveToLocal挪动到本地
mv将文件或目录从HDFS的源门路挪动到指标门路
put将本地文件上传到HDFS
renameSnapshot重命名快照
rm删除一个文件或目录
rmdir删除空目录
setfacl设置权限
setfattr其余信息
setrep批改正本数
stat显示文件所占块数(%b)
tail显示文件的最初1kb内容到规范输入
test某个文件或者目录是否存在
text获取源文件并以文本格式输入文件
touch创立一个零长度的文件
touchz目录创立一个新文件
truncate截断
usage返回命令的help信息。

输出 hdfs getconf 查看getconf的usage

  • hdfs getconf -namenodes #查看namenode的节点名称

  • hdfs getconf -nnRpcAddresses #查看namenode的RPC地址

输出hdfs version查看hsdf的版本信息

2.3 Daemon Command

  • hdfs balancer # 启动datanode的平衡散布
  • hdfs datanode #查看datanode过程
  • hdfs namenode #查看namenode过程

    namenode后也可跟参数,具体如下

 hdfs nameNode                  [-format]      //格式化NameNode                  [-upgrade]   //在Hadoop降级后,应该应用这个命令启动NameNode                  [-rollback]    //应用NameNode回滚前一个版本                  [-finalize]     //删除文件系统的前一个状态,这会导致系统不能回滚到前一个zhua                  [-importCheckpoint]    // 复制备份checkpoint的状态到以后checkpoint

至此,hdfs的shell命令算是简略的过了一遍,有趣味的能够每个命令具体去实操一下。

文章继续更新,能够微信搜寻「 大数据分析师常识分享」第一工夫浏览,回复【666】获取大数据相干材料。