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(过程)
管理员命令 | 客户端命令 | 过程命令 |
---|---|---|
cacheadmin | classpath | balancer |
crypto | dfs | datanode |
debug | envvars | dfsrouter |
dfsadmin | fetchdt | diskbalancer |
dfsrouteradmin | getconf | httpfs |
ec | groups | journalnode |
fsck | lsSnapshottableDir | mover |
haadmin | snapshotDiff | namenode |
jmxget | version | nfs3 |
oev | portmap | |
oiv | secondarynamenode | |
oiv_legacy | spser | |
storagepolicies | zkfc |
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 | 批改所属组 |
chmod | hdfs上文件用户名和用户组 |
chown | hdfs上文件权限批改 |
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】获取大数据相干材料。