hadoop配额
Hadoop分布式文件系统(HDFS)允许管理员为每个目录设置配额。新建立的目录没有配额。最大的配额是Long.Max_ Value 。配额为1可以强制目录保持为空。
目录配额是对目录树上该目录下的名字数量做硬性限制。如果创建文件或目录时超过了配额,该操作会失败。重命名不会改变该目录的配额;如果重命名操作会导致违反配额限制,该操作将会失败。如果尝试设置一个配额而现有文件数量已经超出了这个新配额,则设置失败。
配额和fsimage保持一致。当启动时,如果fsimage违反 了某个配额限制(也 许fsimage被偷偷改变了),则启动失败并生成错误报告。设置或删除一个配额会创建相应的日志记录。
下面的新命令或新选项是用于支持配额的。前两个是管理员命令。
● dfsadmin -setquota . …
把每个目录配额设为N。这个命令会在每个目录上尝试,如果N不是 个正的长整
型数,目录不存在或是文件名,或者 目录超过配额,则会产生错误报告。
● dfsadmin -c1rquota . . .
为每个目录删除配额。这个命令会在每个目录上尝试,如果目录不存在或者是文件
则会产生错误报告。如果目录原来没有设置配额不会报错。
● fs -count -q … .
使用-q选项,会报告每个目录设置的配额,以及剩余配额。如果目录没有设置配
额,会报告none和inf。
hdfs haadmin
1、-transitionToActive
2、-transitionToStandby :
将指定的namenode ID切换为Active或者standby。这个指令并不会触发“fencing method”,所以不常用,我们通常使用"hdfs haadmin -failover"来切换Namenode状态。
3、-failover [–forcefence] [–foreactive] :
在两个Namenode之间failover。这个指令会触发将first节点failover到second节点。如果first处于standby,那么只是简单的将second提升为Active。如果first为Active,那么将会友好的将其切换为standby,如果失败,那么fencing methods将会触发直到成功,此后second将会提升为Active。如果fencing method失败,那么second将不会被提升为Active。
例如:“hdfs haadmin -failover nn1 nn2”
4、-getServiceState :
获取serviceId的状态,Active还是Standby。链接到指定的namenode上,并获取其当前的状态,打印出“standby”或者“active”。我可以在crontab中使用此命令,用来监测各个Namenode的状况。
5、-checkHealth :
检测指定的namenode的健康状况。
6. fsimage镜像文件和edits编辑日志
命令1:查看镜像文件
hdfs oiv -p 文件的类型 -i 镜像文件 -o 转换后文件的路径
例如:hdfs oiv -p XML -i fsimage00024235 -o /home/zhangsan/fs1.xml
命令2:查看编辑日志
hdfs oev -p 文件的类型 -i 镜像文件 -o 转换后文件的路径
例如:hdfs oiv -p XML -i edits00024235 -o /home/zhangsan/edits1.xml
案例:
清空数据,格式名称节点
7.实现编辑日志的手动:hdfs dfsadmin -rollEdits
8. 在集群启动时,hdfs处于安全模式,不允许写操作(此时nn和dn在交互)
hdfs dfsadmin -safemode enter/leave/wait/get
9. 刷新NameNode节点(NameNode,读取配置文件中的内容)
当增加节点或者退役节点时
hdfs dfsadmin -refreshNodes
刷新resourcemanager节点
yarn rmadmin -refreshNodes
10. 使用归档命令 : har filesystem (namenode把文档文件当成一个单独的文件,存储多个小文件)
hadoop archive -archiveName zhangsan.har -p /home/zhangsan/ ... /home/lisi
myfiles.har
hadoop 启动命令
start-all.sh (过时了,推荐使用下面的两种方式)
调用 :
start-dfs.sh
start-yarn.sh
hadoop-daemon.sh stop /start namenode /datanode / secondarynamenode
yarn-daemon.sh stop/start resourcemanager / nodemanager
时钟
systemctl status ntpd.service
systemctl start ntpd.service
systemctl enable ntpd.service
防火墙
# systemctl start firewalld # 启动,
# systemctl enable firewalld # 开机启动
# systemctl stop firewalld # 关闭
# systemctl disable firewalld # 取消开机启动
hadoop fs 或 hdfs dfs
hadoop fs -命令 -help 可以查看相关使用说明
hadoop fs
-cat
用法:hadoop fs -cat 路径
作用:查看文件内容(可以查看本地和HDFS上的内容)。
-checksum
用法: hadoop fs -checksum 路径
作用:查看校验码信息。
-chgrp
用法: hadoop fs -chgrp [-R] 组名 文件路径
作用:改变文件所属的组,使用-R 将使改变在目录结构下递归进行。
-count
用法: hadoop fs -count [-q] [-h] <HDFS路径>
作用:计算paths下的目录数,文件数和字节数。
-cp
用法:hadoop fs -cp [-f] [-p | -p[topax]] 文件路径 复制的去向
作用:拷贝,HDFS文件系统中进行的拷贝操作。
-f 参数选项:当文件存在时,进行覆盖。
-p 参数选项:将权限、所属组、时间戳、ACL以及XAttr等也进行拷贝。
-df
用法:hadoop fs -df [-h] URI [URI …]
作用:显示剩余空间。
-du
用法:hadoop fs -du [-s] [-h] URI
-du /dir 显示目录所有文件的大小或者当只指定一个文件时,显示此文件的大小
-du -s /dir 汇总目录下文件大小,单位字节
-du -h /dir 显示目录下各个文件的大小
-du -s -h /dir 汇总该文件所占据的存储空间,显示单位。
-expunge
用法:hadoop fs -expunge
作用:从垃圾桶目录永久删除超过保留阈值的检查点中的文件,并创建新检查点。
-find
用法: hadoop fs -find <HDFS路径> .[-name] [iname] 名字 [-print/print0]
作用:查找满足表达式的文件和文件夹。没有配置path的话,默认的就是全部目录/;如果表达式没有配置,则默认为-print。
-name pattern 所要查找文件的文件名。
-iname pattern 所要查找的文件名,不区分大小写。
-print 打印。
-print0 所有结果打印在一行。
-get
用法:hadoop fs -get [-ignorecrc] [-crc] <HDFS路径> <本地路径>
作用:从HDFS上拷贝文件到本地。
ignorecrc选项复制CRC校验失败的文件。
crc选项复制文件以及CRC信息。
-getfacl
用法:hadoop fs -getfacl [-R] <HDFS路径>
作用:显示文件和文件夹的ACLs(Access Control Lists)访问控制列表。如果目录有默认的ACL,则显示之。
-R参数:递归显示。
-ls
作用:查看文件,与linux下ls命令基本类似。
用法:hadoop fs -ls [-d] [-h] [-R] <HDFS路径>
选项:
-d:只展示查询展示目录;
-h:显示为人眼更易识别的单位(原来是字节)。
-R:递归展示,显示所有的文件夹及文件
-mkdir
用法:hadoop fs -mkdir [-p] <HDFS路径> 建立文件夹的名字
作用:创建文件夹。
选项:
-p:创建父目录。类似于Unix的mkdir -p命令。
-mv
用法: hadoop fs -mv 原路径 目标路径
作用:移动文件
-format
格式化文件系统
hadoop namenode -format
-put
用法: hadoop fs -put <本地路径> … <HDFS路径>
作用:将本地的文件上传(复制)到HDFS是dst目录下。
-rm
用法:hadoop fs -rm [-f] [-r |-R] [-skipTrash] URI [URI …]
作用:删除文件。
选项:
如果文件不存在,-f选项将不显示诊断消息或修改退出状态以反映错误。
-R选项递归地删除目录及其下的任何内容。
-r选项相当于-r。
如果启用-skipTrash选项,它将绕过回收站,并立即删除指定的文件。当需要从超过配额的目录中删除文件时,这非常有用。
-rmdir
用法:hadoop fs -rmdir [–ignore-fail-on-non-empty] URI [URI …]
作用:删除空目录。
选项:
—ignore-fail-on-non-empty:使用它的时候,忽略因文件夹非空删除失败的信息。
-stat
用法: hadoop fs -stat [format]
作用:根据一定格式打印文件/文件夹的统计信息。 文件大小 (%b), 类型 (%F), 所有者所在组 (%g), 名字 (%n), 块大小 (%o), 副本 (%r), 用户名(%u), 修改时间 (%y, %Y)。默认的是%y。
示例:
hadoop fs -stat “%F %u:%g %b %y %n” /file
选项名称 | 使用格式 | 含义 |
---|---|---|
-ls | -ls <路径> | 查看指定路径的当前目录结构 |
-lsr | -lsr <路径> | 递归查看指定路径的目录结构 |
-du | -du <路径> | 统计目录下个文件大小 |
-du -s -h | -du -s -h <路径> | 汇总统计目录下文件(夹)大小 |
-count | -count [-q] <路径> | 统计文件(夹)数量 |
-mv | -mv <源路径> <目的路径> | 移动 |
-cp | -cp <源路径> <目的路径> | 复制 |
-rm | -rm [-skipTrash] <路径> | 删除文件/空白文件夹 |
-rm -r | -rm -r [-skipTrash] <路径> | 递归删除 |
-put | -put <多个linux上的文件> <hdfs路径> | 上传文件 |
-copyFromLocal | -copyFromLocal <多个linux上的文件> <hdfs路径> | 从本地复制 |
-moveFromLocal | -moveFromLocal <多个linux上的文件> <hdfs路径> | 从本地移动 |
-getmerge | -getmerge <源路径> <linux路径> | 合并到本地 |
-cat | -cat <hdfs路径> | 查看文件内容 |
-text | -text <hdfs路径> | 查看文件内容 |
-copyToLocal | -copyToLocal [-ignoreCrc] [-crc] [hdfs源路径] [linux目的路径] | 从本地复制 |
-moveToLocal | -moveToLocal [-crc] <hdfs源路径> <linux目的路径> | 从本地移动 |
-mkdir | -mkdir <hdfs路径> | 创建空白文件夹 |
-setrep | -setrep [-R] [-w] <副本数> <路径> | 修改副本数量 |
-touchz | -touchz <文件路径> | 创建空白文件 |
-stat | -stat [format] <路径> | 显示文件统计信息 |
-tail | -tail [-f] <文件> | 查看文件尾部信息 |
-chmod | -chmod [-R] <权限模式> [路径] | 修改权限 |
-chown | -chown [-R] [属主][:[属组]] 路径 | 修改属主 |
-chgrp | -chgrp [-R] 属组名称 路径 | 修改属组 |
-help | -help [命令选项] | 帮助 |